* Version information is now _defined_ at the top of the root
`CMakeLists.txt` file, which is now the primary source of that
data. Other instances of version information will consume the
CMake-defined version information via the appropriate variables.
* `include/Version.h` is eliminated, as it was never used for
any purpose other than to set the version information for CMake.
* Those GLOBAL PROPERTY entries for JUCE_WINDOWS, JUCE_LINUX, etc.
Are removed. Those never had any effect, as CMake properties are
not defined during the build. The Juce header files automatically
determine the value of the JUCE_ defines.
* The source file globbing (which was always fragile) is replaced
by a list of modules, from which filenames are generated.
* "-DDEBUG" is added to the CXX_FLAGS for debug builds, and
CMAKE_BUILD_TYPE is set to "Debug" if not set by the user
(A comment in the CMakeLists.txt explains in more detail)
* The CMakeLists files are also updated to...
- Use GnuInstallDirs
- Be less deeply nested, e.g.
IF(WIN32)
ELSEIF(UNIX)
IF(APPLE)
ELSE()
ENDIF()
ENDIF()
is replaced by
if(WIN32)
endif()
if(UNIX AND APPLE)
endif()
if(UNIX AND NOT APPLE)
endif()
as in practice, at most one of those will ever be true.