CMake is notable for providing a simple scripting language, means of extending functionality through modules, a minimum number of dependencies (no binding to M4, Perl or Python), caching support, cross-compilation tools, support for generating build files for a wide range of build systems and compilers, the presence ctest and cpack utilities to define test scripts and package builds, cmake-gui utility to interactively configure build options.
All
- The CUDA language can be built using Clang on non-Windows platforms. Separate compilation of CUDA is not yet supported on any platform.
- Added support for profiling CMake scripts using the "--profiling-output" and "--profiling-format" options.
- Support for creating Alias ββTargets that refer to non-global imported targets has been added to the add_library() and add_executable() commands.
- Added cmake_language() command for meta-operations on scripted or built-in commands.
- Added file(CONFIGURE) subcommand, similar in functionality to configure_file(), but passing the content as a string rather than a file link.
- A REQUIRED option has been added to the find_program(), find_library(), find_path(), and find_file() commands to stop processing with an error if nothing was found.
- Added "CMAKE_CUDA_ARCHITECTURES" variable to specify CUDA architecture (set automatically if "CMAKE_CUDA_COMPILER_ID" variable is set to "NVIDIA").
- Added the "UNITY_BUILD_MODE" property to select the algorithm for grouping included source files (BATCH, GROUP) in the generators.
- Added CheckLinkerFlag module to check if link flags are correct.
- $ generator expressions added , $ , $ and $ .
- The CTEST_RESOURCE_SPEC_FILE variable has been added to the ctest utility to specify a resource specification file.
Source: opennet.ru