CMake 2.8.11-rc4 ready for testing!
The CMake 2.8.11 release candidate continues. This is the last RC unless a critical, must-fix issue is found. 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 Usage Requirements
- Targets can specify usage requirements for their consumers such as include directories and preprocessor definitions; previously only link dependencies were supported
- target_link_libraries(myexe yourlib) can now build myexe sources with requirements specified by yourlib
- Added target_include_directories and target_compile_definitions commands with PUBLIC/PRIVATE/INTERFACE options
- See design and development discussion at http://community.kde.org/Frameworks/Epics/CMake_target_usage_requirements
- Introduced a Generator Toolset selection for VS >= 10 and Xcode >= 3
- Tell the IDEs which compiler toolchain to use
- ex. Use VS 9 tools under VS 10: -G “Visual Studio 10” -T “v90”
- Introduced ExternalData Module
- Keep source trees lightweight by storing data separately
- Reference data unambiguously from source tree by content hash
- Fetch on-demand during build from local or remote resources
- CMake: Sublime Text Generator added that supports both Make and Ninja
- CMake: Added support for Texas Instruments C6 and up compilers
- CMake: Improve OpenBSD support
- CMake: Support for Windows CE with VS 8 and 9 generators
- CPack: Added Support for 64bit NSIS
- CPack: Added WiX Package Generator
- ExternalProject: Will run git fetch less often
- FindBoost: Major overhaul of searching and result caching
- FindCUDA: Now has support for separable compilation
- FindQt4: Overall improvements to finding Qt and importing targets
- FindSquish: Added support for squish 4
- GetPrerequisites: Port to MinGW with objdump
The bug tracker change log page for this version is at:
http://public.kitware.com/Bug/changelog_page.php?version_id=103
Following is the complete list of changes in this rc since the previous rc. Please try this version of CMake on your projects and report any issues to the list or the bug tracker. This release candidate will become the final release for 2.8.11 unless a serious issue is reported.
target_link_libraries: Update usage requirements documentation
Stephen Kelly (3):
Centralize maintenance of usage requirement include directories
Fix include dir propagation from conditionally linked targets
Memoize usage requirement include directories in a config-specific map