On behalf of myself, Ken, Bill, Brad, David, Alex, Eike, Steve, Eric, Zach,
Ben and the rest of the CMake team from all around the world,
we are pleased to announce that CMake 2.8.12 is now available for download at:
It is also available from the usual download links found on the CMake web site:
We would like to thank the CMake users who reported issues during the
CMake 2.8.12 release cycle. Your contributions are greatly appreciated.
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: Added support for XCode 5.0
- 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 for this release can be found at: