The CMake 2.8.12 release candidate stream continues!
Thanks to numerous CMake users we uncovered a couple of critical regressions in RC3.
We expect that RC4 will be the final RC unless a new critical, must-fix regression is discovered.
Some of the notable changes in this release are:
- Introduced target_compile_options command
- Specify compile options to use when compiling a given target. Supports PUBLIC, PRIVATE, and INTERFACE options. PRIVATE and PUBLIC items will populate the COMPILE_OPTIONS property of the target. PUBLIC and INTERFACE items will populate the INTERFACE_COMPILE_OPTIONS property of the target. Supports generator expressions.
- Introduced add_compile_options command
- Adds options to the compiler command line for sources in the current directory and below. Supports generator expressions.
- Introduced CMake Policy CMP0021:
- It is now an error to add relative paths to the INCLUDE_DIRECTORIES target property.
- Introduced CMake Policy CMP0022:
- Target properties matching (IMPORTED_)LINK_INTERFACE_LIBRARIES(_<CONFIG>) are ignored, and will no longer be populated by the target_link_libraries command. It is now an error to populate the properties directly in user code. Instead use the INTERFACE keyword with target_link_libraries, or the target property INTERFACE_LINK_LIBRARIES.
- Introduced CMake Policy CMP0023:
- Plain and keyword target_link_libraries signatures cannot be mixed for a given target when this policy is enabled. Once PUBLIC,PRIVATE, or INTERFACE keywords are used, all subsequent target_link_libraries calls to the target must use one of these keywords.
- Introduced: Support for RPATH under OSX
- Please see the blog post by Clinton Stimpson about using RPATH on OSX (http://www.kitware.com/blog/home/post/510)
- CMake: New PUBLIC PRIVATE and INTERFACE options for target_link_libraries
- CMake: New ALIAS targets feature
- CMake: Automatically process Headers directory of Apple Frameworks as a usage requirement
- CMake: File command now supports the GENERATE command to produce files at generate time
- CMake: target_include_directories now supports the SYSTEM parameter
- CMake: Add support for Java in cross compilation toolchains
- CMake: Improved support for the IAR toolchain
- CMake: Improved support for the ARM toolchain under Visual Studio
- CMake: Improvements to the Visual Studio Generators Including
- Separate compiler and linker PDB files
- Support for subdirectory MSBuild projects
- Support for assembly code to VS10
- Support for Windows CE to VS11
- CMake: Added COMPILE_OPTIONS target property.
- CMake: Added INTERFACE_LINK_LIBRARIES added as a property to targets
- CMake: Now supports .zip files with the tar command
- CMake: try_compile now supports multiple source files
- CMake: Optimized custom command dependency lookup
- CMake: Removal of configured files will retrigger CMake when issuing a build command
- CMake: Ninja now tracks custom command generated files that aren’t listed as output
- CMake: Added generator expression support for compiler versions
- CMake-Gui: Add search functions for Output window
- CTest: Improved memory checker support
- FindGTK2: General Improvements
- FindCUDA: Multiple improvements to the custom commands
The bug tracker change log page for this version is at:
The complete list of changes in RC4 since RC3 can be found at:
As this is expected to be the last RC release please test it and report any regressions to the list or the bug tracker.