CMake 2.8.12-rc4 ready for testing!

October 1, 2013

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.

You can find the source and binaries here: http://www.cmake.org/files/v2.8/?C=M;O=D

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
  • 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:
http://public.kitware.com/Bug/changelog_page.php?version_id=112

The complete list of changes in RC4 since RC3 can be found at:

http://www.cmake.org/Wiki/CMake/ChangeLog

As this is expected to be the last RC release please test it and report any regressions to the list or the bug tracker.

Thanks

Leave a Reply