pkgsrc/devel/cmake/PLIST

2391 lines
143 KiB
Text
Raw Normal View History

@comment $NetBSD: PLIST,v 1.52 2018/08/10 06:59:04 adam Exp $
bin/ccmake
bin/cmake
bin/cpack
bin/ctest
share/aclocal/cmake.m4
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/command/COMPILE_OPTIONS_SHELL.txt
share/cmake-${CMAKE_API}/Help/command/FIND_XXX.txt
share/cmake-${CMAKE_API}/Help/command/FIND_XXX_ORDER.txt
share/cmake-${CMAKE_API}/Help/command/FIND_XXX_ROOT.txt
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/command/add_compile_definitions.rst
share/cmake-${CMAKE_API}/Help/command/add_compile_options.rst
share/cmake-${CMAKE_API}/Help/command/add_custom_command.rst
share/cmake-${CMAKE_API}/Help/command/add_custom_target.rst
share/cmake-${CMAKE_API}/Help/command/add_definitions.rst
share/cmake-${CMAKE_API}/Help/command/add_dependencies.rst
share/cmake-${CMAKE_API}/Help/command/add_executable.rst
share/cmake-${CMAKE_API}/Help/command/add_library.rst
share/cmake-${CMAKE_API}/Help/command/add_subdirectory.rst
share/cmake-${CMAKE_API}/Help/command/add_test.rst
share/cmake-${CMAKE_API}/Help/command/aux_source_directory.rst
share/cmake-${CMAKE_API}/Help/command/break.rst
share/cmake-${CMAKE_API}/Help/command/build_command.rst
share/cmake-${CMAKE_API}/Help/command/build_name.rst
share/cmake-${CMAKE_API}/Help/command/cmake_host_system_information.rst
share/cmake-${CMAKE_API}/Help/command/cmake_minimum_required.rst
Changes 3.5.0: The cmake-gui(1) gained options to control warnings about deprecated functionality. The cmake-gui(1) learned an option to set the toolset to be used with VS IDE and Xcode generators, much like the existing -T option to cmake(1). The cmake-gui(1) gained a Regular Expression Explorer which may be used to create and evaluate regular expressions in real-time. The explorer window is available via the Tools menu. The -Wdev and -Wno-dev cmake(1) options now also enable and suppress the deprecated warnings output by default. The suppression of developer warnings as errors can now be controlled with the new -Werror=dev and -Wno-error=dev cmake(1) options. The cmake(1) -E command-line tools copy, copy_if_different, copy_directory, and make_directory learned to support multiple input files or directories. The cmake_parse_arguments() command is now implemented natively. The CMakeParseArguments module remains as an empty placeholder for compatibility. The install(DIRECTORY) command learned to support generator expressions in the list of directories. The CMAKE_ERROR_DEPRECATED variable can now be set using the -Werror=deprecated and -Wno-error=deprecated cmake(1) options. The CMAKE_WARN_DEPRECATED variable can now be set using the -Wdeprecated and -Wno-deprecated cmake(1) options. The VS_GLOBAL_<variable> target property is now implemented for VS 2010 and above. Previously it worked only in VS 2008 and below. The ExternalProject module learned a new GIT_REMOTE_NAME option to control the git clone --origin value. The FindBoost module now provides imported targets such as Boost::boost and Boost::filesystem. The FindFLEX module FLEX_TARGET macro learned a new DEFINES_FILE option to specify a custom output header to be generated. The FindGTest module now provides imported targets. The FindGTK2 module, when GTK2_USE_IMPORTED_TARGETS is enabled, now sets GTK2_LIBRARIES to contain the list of imported targets instead of the paths to the libraries. Moreover it now sets a new GTK2_TARGETS variable containing all the targets imported. The FindOpenMP module learned to support Clang. The FindOpenSSL module gained a new OPENSSL_MSVC_STATIC_RT option to search for libraries using the MSVC static runtime. The FindPNG module now provides imported targets. The FindTIFF module now provides imported targets. A FindXalanC module was introduced to find the Apache Xalan-C++ XSL transform processing library. The FindXercesC module now provides imported targets.
2016-03-14 11:49:55 +01:00
share/cmake-${CMAKE_API}/Help/command/cmake_parse_arguments.rst
share/cmake-${CMAKE_API}/Help/command/cmake_policy.rst
share/cmake-${CMAKE_API}/Help/command/configure_file.rst
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Help/command/continue.rst
share/cmake-${CMAKE_API}/Help/command/create_test_sourcelist.rst
share/cmake-${CMAKE_API}/Help/command/ctest_build.rst
share/cmake-${CMAKE_API}/Help/command/ctest_configure.rst
share/cmake-${CMAKE_API}/Help/command/ctest_coverage.rst
share/cmake-${CMAKE_API}/Help/command/ctest_empty_binary_directory.rst
share/cmake-${CMAKE_API}/Help/command/ctest_memcheck.rst
share/cmake-${CMAKE_API}/Help/command/ctest_read_custom_files.rst
share/cmake-${CMAKE_API}/Help/command/ctest_run_script.rst
share/cmake-${CMAKE_API}/Help/command/ctest_sleep.rst
share/cmake-${CMAKE_API}/Help/command/ctest_start.rst
share/cmake-${CMAKE_API}/Help/command/ctest_submit.rst
share/cmake-${CMAKE_API}/Help/command/ctest_test.rst
share/cmake-${CMAKE_API}/Help/command/ctest_update.rst
share/cmake-${CMAKE_API}/Help/command/ctest_upload.rst
share/cmake-${CMAKE_API}/Help/command/define_property.rst
share/cmake-${CMAKE_API}/Help/command/else.rst
share/cmake-${CMAKE_API}/Help/command/elseif.rst
share/cmake-${CMAKE_API}/Help/command/enable_language.rst
share/cmake-${CMAKE_API}/Help/command/enable_testing.rst
share/cmake-${CMAKE_API}/Help/command/endforeach.rst
share/cmake-${CMAKE_API}/Help/command/endfunction.rst
share/cmake-${CMAKE_API}/Help/command/endif.rst
share/cmake-${CMAKE_API}/Help/command/endmacro.rst
share/cmake-${CMAKE_API}/Help/command/endwhile.rst
share/cmake-${CMAKE_API}/Help/command/exec_program.rst
share/cmake-${CMAKE_API}/Help/command/execute_process.rst
share/cmake-${CMAKE_API}/Help/command/export.rst
share/cmake-${CMAKE_API}/Help/command/export_library_dependencies.rst
share/cmake-${CMAKE_API}/Help/command/file.rst
share/cmake-${CMAKE_API}/Help/command/find_file.rst
share/cmake-${CMAKE_API}/Help/command/find_library.rst
share/cmake-${CMAKE_API}/Help/command/find_package.rst
share/cmake-${CMAKE_API}/Help/command/find_path.rst
share/cmake-${CMAKE_API}/Help/command/find_program.rst
share/cmake-${CMAKE_API}/Help/command/fltk_wrap_ui.rst
share/cmake-${CMAKE_API}/Help/command/foreach.rst
share/cmake-${CMAKE_API}/Help/command/function.rst
share/cmake-${CMAKE_API}/Help/command/get_cmake_property.rst
share/cmake-${CMAKE_API}/Help/command/get_directory_property.rst
share/cmake-${CMAKE_API}/Help/command/get_filename_component.rst
share/cmake-${CMAKE_API}/Help/command/get_property.rst
share/cmake-${CMAKE_API}/Help/command/get_source_file_property.rst
share/cmake-${CMAKE_API}/Help/command/get_target_property.rst
share/cmake-${CMAKE_API}/Help/command/get_test_property.rst
share/cmake-${CMAKE_API}/Help/command/if.rst
share/cmake-${CMAKE_API}/Help/command/include.rst
share/cmake-${CMAKE_API}/Help/command/include_directories.rst
share/cmake-${CMAKE_API}/Help/command/include_external_msproject.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/command/include_guard.rst
share/cmake-${CMAKE_API}/Help/command/include_regular_expression.rst
share/cmake-${CMAKE_API}/Help/command/install.rst
share/cmake-${CMAKE_API}/Help/command/install_files.rst
share/cmake-${CMAKE_API}/Help/command/install_programs.rst
share/cmake-${CMAKE_API}/Help/command/install_targets.rst
share/cmake-${CMAKE_API}/Help/command/link_directories.rst
share/cmake-${CMAKE_API}/Help/command/link_libraries.rst
share/cmake-${CMAKE_API}/Help/command/list.rst
share/cmake-${CMAKE_API}/Help/command/load_cache.rst
share/cmake-${CMAKE_API}/Help/command/load_command.rst
share/cmake-${CMAKE_API}/Help/command/macro.rst
share/cmake-${CMAKE_API}/Help/command/make_directory.rst
share/cmake-${CMAKE_API}/Help/command/mark_as_advanced.rst
share/cmake-${CMAKE_API}/Help/command/math.rst
share/cmake-${CMAKE_API}/Help/command/message.rst
share/cmake-${CMAKE_API}/Help/command/option.rst
share/cmake-${CMAKE_API}/Help/command/output_required_files.rst
share/cmake-${CMAKE_API}/Help/command/project.rst
share/cmake-${CMAKE_API}/Help/command/qt_wrap_cpp.rst
share/cmake-${CMAKE_API}/Help/command/qt_wrap_ui.rst
share/cmake-${CMAKE_API}/Help/command/remove.rst
share/cmake-${CMAKE_API}/Help/command/remove_definitions.rst
share/cmake-${CMAKE_API}/Help/command/return.rst
share/cmake-${CMAKE_API}/Help/command/separate_arguments.rst
share/cmake-${CMAKE_API}/Help/command/set.rst
share/cmake-${CMAKE_API}/Help/command/set_directory_properties.rst
share/cmake-${CMAKE_API}/Help/command/set_property.rst
share/cmake-${CMAKE_API}/Help/command/set_source_files_properties.rst
share/cmake-${CMAKE_API}/Help/command/set_target_properties.rst
share/cmake-${CMAKE_API}/Help/command/set_tests_properties.rst
share/cmake-${CMAKE_API}/Help/command/site_name.rst
share/cmake-${CMAKE_API}/Help/command/source_group.rst
share/cmake-${CMAKE_API}/Help/command/string.rst
share/cmake-${CMAKE_API}/Help/command/subdir_depends.rst
share/cmake-${CMAKE_API}/Help/command/subdirs.rst
share/cmake-${CMAKE_API}/Help/command/target_compile_definitions.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/command/target_compile_features.rst
share/cmake-${CMAKE_API}/Help/command/target_compile_options.rst
share/cmake-${CMAKE_API}/Help/command/target_include_directories.rst
share/cmake-${CMAKE_API}/Help/command/target_link_libraries.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/command/target_sources.rst
share/cmake-${CMAKE_API}/Help/command/try_compile.rst
share/cmake-${CMAKE_API}/Help/command/try_run.rst
share/cmake-${CMAKE_API}/Help/command/unset.rst
share/cmake-${CMAKE_API}/Help/command/use_mangled_mesa.rst
share/cmake-${CMAKE_API}/Help/command/utility_source.rst
share/cmake-${CMAKE_API}/Help/command/variable_requires.rst
share/cmake-${CMAKE_API}/Help/command/variable_watch.rst
share/cmake-${CMAKE_API}/Help/command/while.rst
share/cmake-${CMAKE_API}/Help/command/write_file.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/envvar/ASM_DIALECT.rst
share/cmake-${CMAKE_API}/Help/envvar/ASM_DIALECTFLAGS.rst
share/cmake-${CMAKE_API}/Help/envvar/CC.rst
share/cmake-${CMAKE_API}/Help/envvar/CFLAGS.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/envvar/CMAKE_BUILD_PARALLEL_LEVEL.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/envvar/CMAKE_CONFIG_TYPE.rst
share/cmake-${CMAKE_API}/Help/envvar/CMAKE_MSVCIDE_RUN_PATH.rst
share/cmake-${CMAKE_API}/Help/envvar/CMAKE_OSX_ARCHITECTURES.rst
share/cmake-${CMAKE_API}/Help/envvar/CSFLAGS.rst
share/cmake-${CMAKE_API}/Help/envvar/CTEST_INTERACTIVE_DEBUG_MODE.rst
share/cmake-${CMAKE_API}/Help/envvar/CTEST_OUTPUT_ON_FAILURE.rst
share/cmake-${CMAKE_API}/Help/envvar/CTEST_PARALLEL_LEVEL.rst
share/cmake-${CMAKE_API}/Help/envvar/CTEST_USE_LAUNCHERS_DEFAULT.rst
share/cmake-${CMAKE_API}/Help/envvar/CUDACXX.rst
share/cmake-${CMAKE_API}/Help/envvar/CUDAFLAGS.rst
share/cmake-${CMAKE_API}/Help/envvar/CUDAHOSTCXX.rst
share/cmake-${CMAKE_API}/Help/envvar/CXX.rst
share/cmake-${CMAKE_API}/Help/envvar/CXXFLAGS.rst
share/cmake-${CMAKE_API}/Help/envvar/DASHBOARD_TEST_FROM_CTEST.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/envvar/DESTDIR.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/envvar/FC.rst
share/cmake-${CMAKE_API}/Help/envvar/FFLAGS.rst
share/cmake-${CMAKE_API}/Help/envvar/LDFLAGS.rst
share/cmake-${CMAKE_API}/Help/envvar/MACOSX_DEPLOYMENT_TARGET.rst
share/cmake-${CMAKE_API}/Help/envvar/PackageName_ROOT.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/envvar/RC.rst
share/cmake-${CMAKE_API}/Help/envvar/RCFLAGS.rst
share/cmake-${CMAKE_API}/Help/generator/Borland Makefiles.rst
share/cmake-${CMAKE_API}/Help/generator/CodeBlocks.rst
share/cmake-${CMAKE_API}/Help/generator/CodeLite.rst
share/cmake-${CMAKE_API}/Help/generator/Eclipse CDT4.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/generator/Green Hills MULTI.rst
share/cmake-${CMAKE_API}/Help/generator/Kate.rst
share/cmake-${CMAKE_API}/Help/generator/MSYS Makefiles.rst
share/cmake-${CMAKE_API}/Help/generator/MinGW Makefiles.rst
share/cmake-${CMAKE_API}/Help/generator/NMake Makefiles JOM.rst
share/cmake-${CMAKE_API}/Help/generator/NMake Makefiles.rst
share/cmake-${CMAKE_API}/Help/generator/Ninja.rst
share/cmake-${CMAKE_API}/Help/generator/Sublime Text 2.rst
share/cmake-${CMAKE_API}/Help/generator/Unix Makefiles.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/generator/VS_TOOLSET_HOST_ARCH.txt
share/cmake-${CMAKE_API}/Help/generator/Visual Studio 10 2010.rst
share/cmake-${CMAKE_API}/Help/generator/Visual Studio 11 2012.rst
share/cmake-${CMAKE_API}/Help/generator/Visual Studio 12 2013.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/generator/Visual Studio 14 2015.rst
2016-12-04 09:52:56 +01:00
share/cmake-${CMAKE_API}/Help/generator/Visual Studio 15 2017.rst
share/cmake-${CMAKE_API}/Help/generator/Visual Studio 6.rst
share/cmake-${CMAKE_API}/Help/generator/Visual Studio 7 .NET 2003.rst
share/cmake-${CMAKE_API}/Help/generator/Visual Studio 7.rst
share/cmake-${CMAKE_API}/Help/generator/Visual Studio 8 2005.rst
share/cmake-${CMAKE_API}/Help/generator/Visual Studio 9 2008.rst
share/cmake-${CMAKE_API}/Help/generator/Watcom WMake.rst
share/cmake-${CMAKE_API}/Help/generator/Xcode.rst
share/cmake-${CMAKE_API}/Help/include/COMPILE_DEFINITIONS_DISCLAIMER.txt
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Help/include/INTERFACE_INCLUDE_DIRECTORIES_WARNING.txt
share/cmake-${CMAKE_API}/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt
share/cmake-${CMAKE_API}/Help/index.rst
share/cmake-${CMAKE_API}/Help/manual/LINKS.txt
share/cmake-${CMAKE_API}/Help/manual/OPTIONS_BUILD.txt
share/cmake-${CMAKE_API}/Help/manual/OPTIONS_HELP.txt
share/cmake-${CMAKE_API}/Help/manual/ccmake.1.rst
share/cmake-${CMAKE_API}/Help/manual/cmake-buildsystem.7.rst
share/cmake-${CMAKE_API}/Help/manual/cmake-commands.7.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/manual/cmake-compile-features.7.rst
share/cmake-${CMAKE_API}/Help/manual/cmake-developer.7.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/manual/cmake-env-variables.7.rst
share/cmake-${CMAKE_API}/Help/manual/cmake-generator-expressions.7.rst
share/cmake-${CMAKE_API}/Help/manual/cmake-generators.7.rst
share/cmake-${CMAKE_API}/Help/manual/cmake-gui.1.rst
share/cmake-${CMAKE_API}/Help/manual/cmake-language.7.rst
share/cmake-${CMAKE_API}/Help/manual/cmake-modules.7.rst
share/cmake-${CMAKE_API}/Help/manual/cmake-packages.7.rst
share/cmake-${CMAKE_API}/Help/manual/cmake-policies.7.rst
share/cmake-${CMAKE_API}/Help/manual/cmake-properties.7.rst
share/cmake-${CMAKE_API}/Help/manual/cmake-qt.7.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/manual/cmake-server.7.rst
share/cmake-${CMAKE_API}/Help/manual/cmake-toolchains.7.rst
share/cmake-${CMAKE_API}/Help/manual/cmake-variables.7.rst
share/cmake-${CMAKE_API}/Help/manual/cmake.1.rst
share/cmake-${CMAKE_API}/Help/manual/cpack.1.rst
share/cmake-${CMAKE_API}/Help/manual/ctest.1.rst
share/cmake-${CMAKE_API}/Help/module/AddFileDependencies.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/module/AndroidTestUtilities.rst
share/cmake-${CMAKE_API}/Help/module/BundleUtilities.rst
share/cmake-${CMAKE_API}/Help/module/CMakeAddFortranSubdirectory.rst
share/cmake-${CMAKE_API}/Help/module/CMakeBackwardCompatibilityCXX.rst
share/cmake-${CMAKE_API}/Help/module/CMakeDependentOption.rst
share/cmake-${CMAKE_API}/Help/module/CMakeDetermineVSServicePack.rst
share/cmake-${CMAKE_API}/Help/module/CMakeExpandImportedTargets.rst
share/cmake-${CMAKE_API}/Help/module/CMakeFindDependencyMacro.rst
share/cmake-${CMAKE_API}/Help/module/CMakeFindFrameworks.rst
share/cmake-${CMAKE_API}/Help/module/CMakeFindPackageMode.rst
share/cmake-${CMAKE_API}/Help/module/CMakeForceCompiler.rst
share/cmake-${CMAKE_API}/Help/module/CMakeGraphVizOptions.rst
share/cmake-${CMAKE_API}/Help/module/CMakePackageConfigHelpers.rst
share/cmake-${CMAKE_API}/Help/module/CMakeParseArguments.rst
share/cmake-${CMAKE_API}/Help/module/CMakePrintHelpers.rst
share/cmake-${CMAKE_API}/Help/module/CMakePrintSystemInformation.rst
share/cmake-${CMAKE_API}/Help/module/CMakePushCheckState.rst
share/cmake-${CMAKE_API}/Help/module/CMakeVerifyManifest.rst
share/cmake-${CMAKE_API}/Help/module/CPack.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/module/CPackArchive.rst
share/cmake-${CMAKE_API}/Help/module/CPackBundle.rst
share/cmake-${CMAKE_API}/Help/module/CPackComponent.rst
share/cmake-${CMAKE_API}/Help/module/CPackCygwin.rst
share/cmake-${CMAKE_API}/Help/module/CPackDMG.rst
share/cmake-${CMAKE_API}/Help/module/CPackDeb.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/module/CPackFreeBSD.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/module/CPackIFW.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/module/CPackIFWConfigureFile.rst
share/cmake-${CMAKE_API}/Help/module/CPackNSIS.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/module/CPackNuGet.rst
share/cmake-${CMAKE_API}/Help/module/CPackPackageMaker.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/module/CPackProductBuild.rst
share/cmake-${CMAKE_API}/Help/module/CPackRPM.rst
share/cmake-${CMAKE_API}/Help/module/CPackWIX.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/module/CSharpUtilities.rst
share/cmake-${CMAKE_API}/Help/module/CTest.rst
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Help/module/CTestCoverageCollectGCOV.rst
share/cmake-${CMAKE_API}/Help/module/CTestScriptMode.rst
share/cmake-${CMAKE_API}/Help/module/CTestUseLaunchers.rst
share/cmake-${CMAKE_API}/Help/module/CheckCCompilerFlag.rst
share/cmake-${CMAKE_API}/Help/module/CheckCSourceCompiles.rst
share/cmake-${CMAKE_API}/Help/module/CheckCSourceRuns.rst
share/cmake-${CMAKE_API}/Help/module/CheckCXXCompilerFlag.rst
share/cmake-${CMAKE_API}/Help/module/CheckCXXSourceCompiles.rst
share/cmake-${CMAKE_API}/Help/module/CheckCXXSourceRuns.rst
share/cmake-${CMAKE_API}/Help/module/CheckCXXSymbolExists.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/module/CheckFortranCompilerFlag.rst
share/cmake-${CMAKE_API}/Help/module/CheckFortranFunctionExists.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/module/CheckFortranSourceCompiles.rst
share/cmake-${CMAKE_API}/Help/module/CheckFunctionExists.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/module/CheckIPOSupported.rst
share/cmake-${CMAKE_API}/Help/module/CheckIncludeFile.rst
share/cmake-${CMAKE_API}/Help/module/CheckIncludeFileCXX.rst
share/cmake-${CMAKE_API}/Help/module/CheckIncludeFiles.rst
share/cmake-${CMAKE_API}/Help/module/CheckLanguage.rst
share/cmake-${CMAKE_API}/Help/module/CheckLibraryExists.rst
share/cmake-${CMAKE_API}/Help/module/CheckPrototypeDefinition.rst
share/cmake-${CMAKE_API}/Help/module/CheckStructHasMember.rst
share/cmake-${CMAKE_API}/Help/module/CheckSymbolExists.rst
share/cmake-${CMAKE_API}/Help/module/CheckTypeSize.rst
share/cmake-${CMAKE_API}/Help/module/CheckVariableExists.rst
share/cmake-${CMAKE_API}/Help/module/Dart.rst
share/cmake-${CMAKE_API}/Help/module/DeployQt4.rst
share/cmake-${CMAKE_API}/Help/module/Documentation.rst
share/cmake-${CMAKE_API}/Help/module/ExternalData.rst
share/cmake-${CMAKE_API}/Help/module/ExternalProject.rst
share/cmake-${CMAKE_API}/Help/module/FeatureSummary.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/module/FetchContent.rst
share/cmake-${CMAKE_API}/Help/module/FindALSA.rst
share/cmake-${CMAKE_API}/Help/module/FindASPELL.rst
share/cmake-${CMAKE_API}/Help/module/FindAVIFile.rst
share/cmake-${CMAKE_API}/Help/module/FindArmadillo.rst
share/cmake-${CMAKE_API}/Help/module/FindBISON.rst
share/cmake-${CMAKE_API}/Help/module/FindBLAS.rst
share/cmake-${CMAKE_API}/Help/module/FindBZip2.rst
share/cmake-${CMAKE_API}/Help/module/FindBacktrace.rst
share/cmake-${CMAKE_API}/Help/module/FindBoost.rst
share/cmake-${CMAKE_API}/Help/module/FindBullet.rst
share/cmake-${CMAKE_API}/Help/module/FindCABLE.rst
share/cmake-${CMAKE_API}/Help/module/FindCUDA.rst
share/cmake-${CMAKE_API}/Help/module/FindCURL.rst
share/cmake-${CMAKE_API}/Help/module/FindCVS.rst
share/cmake-${CMAKE_API}/Help/module/FindCoin3D.rst
share/cmake-${CMAKE_API}/Help/module/FindCups.rst
share/cmake-${CMAKE_API}/Help/module/FindCurses.rst
share/cmake-${CMAKE_API}/Help/module/FindCxxTest.rst
share/cmake-${CMAKE_API}/Help/module/FindCygwin.rst
share/cmake-${CMAKE_API}/Help/module/FindDCMTK.rst
share/cmake-${CMAKE_API}/Help/module/FindDart.rst
share/cmake-${CMAKE_API}/Help/module/FindDevIL.rst
share/cmake-${CMAKE_API}/Help/module/FindDoxygen.rst
share/cmake-${CMAKE_API}/Help/module/FindEXPAT.rst
share/cmake-${CMAKE_API}/Help/module/FindFLEX.rst
share/cmake-${CMAKE_API}/Help/module/FindFLTK.rst
share/cmake-${CMAKE_API}/Help/module/FindFLTK2.rst
share/cmake-${CMAKE_API}/Help/module/FindFreetype.rst
share/cmake-${CMAKE_API}/Help/module/FindGCCXML.rst
share/cmake-${CMAKE_API}/Help/module/FindGDAL.rst
share/cmake-${CMAKE_API}/Help/module/FindGIF.rst
share/cmake-${CMAKE_API}/Help/module/FindGLEW.rst
share/cmake-${CMAKE_API}/Help/module/FindGLUT.rst
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Help/module/FindGSL.rst
share/cmake-${CMAKE_API}/Help/module/FindGTK.rst
share/cmake-${CMAKE_API}/Help/module/FindGTK2.rst
share/cmake-${CMAKE_API}/Help/module/FindGTest.rst
share/cmake-${CMAKE_API}/Help/module/FindGettext.rst
share/cmake-${CMAKE_API}/Help/module/FindGit.rst
share/cmake-${CMAKE_API}/Help/module/FindGnuTLS.rst
share/cmake-${CMAKE_API}/Help/module/FindGnuplot.rst
share/cmake-${CMAKE_API}/Help/module/FindHDF5.rst
share/cmake-${CMAKE_API}/Help/module/FindHSPELL.rst
share/cmake-${CMAKE_API}/Help/module/FindHTMLHelp.rst
share/cmake-${CMAKE_API}/Help/module/FindHg.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/module/FindICU.rst
share/cmake-${CMAKE_API}/Help/module/FindITK.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/module/FindIce.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/module/FindIconv.rst
share/cmake-${CMAKE_API}/Help/module/FindIcotool.rst
share/cmake-${CMAKE_API}/Help/module/FindImageMagick.rst
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Help/module/FindIntl.rst
share/cmake-${CMAKE_API}/Help/module/FindJNI.rst
share/cmake-${CMAKE_API}/Help/module/FindJPEG.rst
share/cmake-${CMAKE_API}/Help/module/FindJasper.rst
share/cmake-${CMAKE_API}/Help/module/FindJava.rst
share/cmake-${CMAKE_API}/Help/module/FindKDE3.rst
share/cmake-${CMAKE_API}/Help/module/FindKDE4.rst
share/cmake-${CMAKE_API}/Help/module/FindLAPACK.rst
share/cmake-${CMAKE_API}/Help/module/FindLATEX.rst
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Help/module/FindLTTngUST.rst
share/cmake-${CMAKE_API}/Help/module/FindLibArchive.rst
share/cmake-${CMAKE_API}/Help/module/FindLibLZMA.rst
share/cmake-${CMAKE_API}/Help/module/FindLibXml2.rst
share/cmake-${CMAKE_API}/Help/module/FindLibXslt.rst
share/cmake-${CMAKE_API}/Help/module/FindLua.rst
share/cmake-${CMAKE_API}/Help/module/FindLua50.rst
share/cmake-${CMAKE_API}/Help/module/FindLua51.rst
share/cmake-${CMAKE_API}/Help/module/FindMFC.rst
share/cmake-${CMAKE_API}/Help/module/FindMPEG.rst
share/cmake-${CMAKE_API}/Help/module/FindMPEG2.rst
share/cmake-${CMAKE_API}/Help/module/FindMPI.rst
share/cmake-${CMAKE_API}/Help/module/FindMatlab.rst
share/cmake-${CMAKE_API}/Help/module/FindMotif.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/module/FindODBC.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/module/FindOpenACC.rst
share/cmake-${CMAKE_API}/Help/module/FindOpenAL.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/module/FindOpenCL.rst
share/cmake-${CMAKE_API}/Help/module/FindOpenGL.rst
share/cmake-${CMAKE_API}/Help/module/FindOpenMP.rst
share/cmake-${CMAKE_API}/Help/module/FindOpenSSL.rst
share/cmake-${CMAKE_API}/Help/module/FindOpenSceneGraph.rst
share/cmake-${CMAKE_API}/Help/module/FindOpenThreads.rst
share/cmake-${CMAKE_API}/Help/module/FindPHP4.rst
share/cmake-${CMAKE_API}/Help/module/FindPNG.rst
share/cmake-${CMAKE_API}/Help/module/FindPackageHandleStandardArgs.rst
share/cmake-${CMAKE_API}/Help/module/FindPackageMessage.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/module/FindPatch.rst
share/cmake-${CMAKE_API}/Help/module/FindPerl.rst
share/cmake-${CMAKE_API}/Help/module/FindPerlLibs.rst
share/cmake-${CMAKE_API}/Help/module/FindPhysFS.rst
share/cmake-${CMAKE_API}/Help/module/FindPike.rst
share/cmake-${CMAKE_API}/Help/module/FindPkgConfig.rst
share/cmake-${CMAKE_API}/Help/module/FindPostgreSQL.rst
share/cmake-${CMAKE_API}/Help/module/FindProducer.rst
share/cmake-${CMAKE_API}/Help/module/FindProtobuf.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/module/FindPython.rst
share/cmake-${CMAKE_API}/Help/module/FindPython2.rst
share/cmake-${CMAKE_API}/Help/module/FindPython3.rst
share/cmake-${CMAKE_API}/Help/module/FindPythonInterp.rst
share/cmake-${CMAKE_API}/Help/module/FindPythonLibs.rst
share/cmake-${CMAKE_API}/Help/module/FindQt.rst
share/cmake-${CMAKE_API}/Help/module/FindQt3.rst
share/cmake-${CMAKE_API}/Help/module/FindQt4.rst
share/cmake-${CMAKE_API}/Help/module/FindQuickTime.rst
share/cmake-${CMAKE_API}/Help/module/FindRTI.rst
share/cmake-${CMAKE_API}/Help/module/FindRuby.rst
share/cmake-${CMAKE_API}/Help/module/FindSDL.rst
share/cmake-${CMAKE_API}/Help/module/FindSDL_image.rst
share/cmake-${CMAKE_API}/Help/module/FindSDL_mixer.rst
share/cmake-${CMAKE_API}/Help/module/FindSDL_net.rst
share/cmake-${CMAKE_API}/Help/module/FindSDL_sound.rst
share/cmake-${CMAKE_API}/Help/module/FindSDL_ttf.rst
share/cmake-${CMAKE_API}/Help/module/FindSWIG.rst
share/cmake-${CMAKE_API}/Help/module/FindSelfPackers.rst
share/cmake-${CMAKE_API}/Help/module/FindSquish.rst
share/cmake-${CMAKE_API}/Help/module/FindSubversion.rst
share/cmake-${CMAKE_API}/Help/module/FindTCL.rst
share/cmake-${CMAKE_API}/Help/module/FindTIFF.rst
share/cmake-${CMAKE_API}/Help/module/FindTclStub.rst
share/cmake-${CMAKE_API}/Help/module/FindTclsh.rst
share/cmake-${CMAKE_API}/Help/module/FindThreads.rst
share/cmake-${CMAKE_API}/Help/module/FindUnixCommands.rst
share/cmake-${CMAKE_API}/Help/module/FindVTK.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/module/FindVulkan.rst
share/cmake-${CMAKE_API}/Help/module/FindWget.rst
share/cmake-${CMAKE_API}/Help/module/FindWish.rst
share/cmake-${CMAKE_API}/Help/module/FindX11.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/module/FindXCTest.rst
share/cmake-${CMAKE_API}/Help/module/FindXMLRPC.rst
Changes 3.5.0: The cmake-gui(1) gained options to control warnings about deprecated functionality. The cmake-gui(1) learned an option to set the toolset to be used with VS IDE and Xcode generators, much like the existing -T option to cmake(1). The cmake-gui(1) gained a Regular Expression Explorer which may be used to create and evaluate regular expressions in real-time. The explorer window is available via the Tools menu. The -Wdev and -Wno-dev cmake(1) options now also enable and suppress the deprecated warnings output by default. The suppression of developer warnings as errors can now be controlled with the new -Werror=dev and -Wno-error=dev cmake(1) options. The cmake(1) -E command-line tools copy, copy_if_different, copy_directory, and make_directory learned to support multiple input files or directories. The cmake_parse_arguments() command is now implemented natively. The CMakeParseArguments module remains as an empty placeholder for compatibility. The install(DIRECTORY) command learned to support generator expressions in the list of directories. The CMAKE_ERROR_DEPRECATED variable can now be set using the -Werror=deprecated and -Wno-error=deprecated cmake(1) options. The CMAKE_WARN_DEPRECATED variable can now be set using the -Wdeprecated and -Wno-deprecated cmake(1) options. The VS_GLOBAL_<variable> target property is now implemented for VS 2010 and above. Previously it worked only in VS 2008 and below. The ExternalProject module learned a new GIT_REMOTE_NAME option to control the git clone --origin value. The FindBoost module now provides imported targets such as Boost::boost and Boost::filesystem. The FindFLEX module FLEX_TARGET macro learned a new DEFINES_FILE option to specify a custom output header to be generated. The FindGTest module now provides imported targets. The FindGTK2 module, when GTK2_USE_IMPORTED_TARGETS is enabled, now sets GTK2_LIBRARIES to contain the list of imported targets instead of the paths to the libraries. Moreover it now sets a new GTK2_TARGETS variable containing all the targets imported. The FindOpenMP module learned to support Clang. The FindOpenSSL module gained a new OPENSSL_MSVC_STATIC_RT option to search for libraries using the MSVC static runtime. The FindPNG module now provides imported targets. The FindTIFF module now provides imported targets. A FindXalanC module was introduced to find the Apache Xalan-C++ XSL transform processing library. The FindXercesC module now provides imported targets.
2016-03-14 11:49:55 +01:00
share/cmake-${CMAKE_API}/Help/module/FindXalanC.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/module/FindXercesC.rst
share/cmake-${CMAKE_API}/Help/module/FindZLIB.rst
share/cmake-${CMAKE_API}/Help/module/Findosg.rst
share/cmake-${CMAKE_API}/Help/module/FindosgAnimation.rst
share/cmake-${CMAKE_API}/Help/module/FindosgDB.rst
share/cmake-${CMAKE_API}/Help/module/FindosgFX.rst
share/cmake-${CMAKE_API}/Help/module/FindosgGA.rst
share/cmake-${CMAKE_API}/Help/module/FindosgIntrospection.rst
share/cmake-${CMAKE_API}/Help/module/FindosgManipulator.rst
share/cmake-${CMAKE_API}/Help/module/FindosgParticle.rst
share/cmake-${CMAKE_API}/Help/module/FindosgPresentation.rst
share/cmake-${CMAKE_API}/Help/module/FindosgProducer.rst
share/cmake-${CMAKE_API}/Help/module/FindosgQt.rst
share/cmake-${CMAKE_API}/Help/module/FindosgShadow.rst
share/cmake-${CMAKE_API}/Help/module/FindosgSim.rst
share/cmake-${CMAKE_API}/Help/module/FindosgTerrain.rst
share/cmake-${CMAKE_API}/Help/module/FindosgText.rst
share/cmake-${CMAKE_API}/Help/module/FindosgUtil.rst
share/cmake-${CMAKE_API}/Help/module/FindosgViewer.rst
share/cmake-${CMAKE_API}/Help/module/FindosgVolume.rst
share/cmake-${CMAKE_API}/Help/module/FindosgWidget.rst
share/cmake-${CMAKE_API}/Help/module/Findosg_functions.rst
share/cmake-${CMAKE_API}/Help/module/FindwxWidgets.rst
share/cmake-${CMAKE_API}/Help/module/FindwxWindows.rst
share/cmake-${CMAKE_API}/Help/module/FortranCInterface.rst
share/cmake-${CMAKE_API}/Help/module/GNUInstallDirs.rst
share/cmake-${CMAKE_API}/Help/module/GenerateExportHeader.rst
share/cmake-${CMAKE_API}/Help/module/GetPrerequisites.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/module/GoogleTest.rst
share/cmake-${CMAKE_API}/Help/module/InstallRequiredSystemLibraries.rst
share/cmake-${CMAKE_API}/Help/module/MacroAddFileDependencies.rst
share/cmake-${CMAKE_API}/Help/module/ProcessorCount.rst
share/cmake-${CMAKE_API}/Help/module/SelectLibraryConfigurations.rst
share/cmake-${CMAKE_API}/Help/module/SquishTestScript.rst
share/cmake-${CMAKE_API}/Help/module/TestBigEndian.rst
share/cmake-${CMAKE_API}/Help/module/TestCXXAcceptsFlag.rst
share/cmake-${CMAKE_API}/Help/module/TestForANSIForScope.rst
share/cmake-${CMAKE_API}/Help/module/TestForANSIStreamHeaders.rst
share/cmake-${CMAKE_API}/Help/module/TestForSSTREAM.rst
share/cmake-${CMAKE_API}/Help/module/TestForSTDNamespace.rst
share/cmake-${CMAKE_API}/Help/module/UseEcos.rst
share/cmake-${CMAKE_API}/Help/module/UseJava.rst
share/cmake-${CMAKE_API}/Help/module/UseJavaClassFilelist.rst
share/cmake-${CMAKE_API}/Help/module/UseJavaSymlinks.rst
share/cmake-${CMAKE_API}/Help/module/UsePkgConfig.rst
share/cmake-${CMAKE_API}/Help/module/UseSWIG.rst
share/cmake-${CMAKE_API}/Help/module/Use_wxWindows.rst
share/cmake-${CMAKE_API}/Help/module/UsewxWidgets.rst
share/cmake-${CMAKE_API}/Help/module/WriteBasicConfigVersionFile.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/module/WriteCompilerDetectionHeader.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0000.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0001.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0002.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0003.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0004.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0005.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0006.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0007.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0008.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0009.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0010.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0011.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0012.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0013.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0014.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0015.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0016.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0017.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0018.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0019.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0020.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0021.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0022.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0023.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0024.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0025.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0026.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0027.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0028.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0029.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0030.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0031.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0032.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0033.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0034.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0035.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0036.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0037.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0038.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0039.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0040.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0041.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0042.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0043.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0044.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0045.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0046.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0047.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0048.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0049.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0050.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/policy/CMP0051.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0052.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0053.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0054.rst
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Help/policy/CMP0055.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0056.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/policy/CMP0057.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0058.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0059.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0060.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0061.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0062.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0063.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/policy/CMP0064.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0065.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/policy/CMP0066.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/policy/CMP0067.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/policy/CMP0068.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0069.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/policy/CMP0070.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0071.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/policy/CMP0072.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/policy/CMP0073.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0074.rst
share/cmake-${CMAKE_API}/Help/policy/CMP0075.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/policy/DEPRECATED.txt
share/cmake-${CMAKE_API}/Help/policy/DISALLOWED_COMMAND.txt
share/cmake-${CMAKE_API}/Help/prop_cache/ADVANCED.rst
share/cmake-${CMAKE_API}/Help/prop_cache/HELPSTRING.rst
share/cmake-${CMAKE_API}/Help/prop_cache/MODIFIED.rst
share/cmake-${CMAKE_API}/Help/prop_cache/STRINGS.rst
share/cmake-${CMAKE_API}/Help/prop_cache/TYPE.rst
share/cmake-${CMAKE_API}/Help/prop_cache/VALUE.rst
share/cmake-${CMAKE_API}/Help/prop_dir/ADDITIONAL_MAKE_CLEAN_FILES.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/prop_dir/BINARY_DIR.rst
share/cmake-${CMAKE_API}/Help/prop_dir/BUILDSYSTEM_TARGETS.rst
share/cmake-${CMAKE_API}/Help/prop_dir/CACHE_VARIABLES.rst
share/cmake-${CMAKE_API}/Help/prop_dir/CLEAN_NO_CUSTOM.rst
share/cmake-${CMAKE_API}/Help/prop_dir/CMAKE_CONFIGURE_DEPENDS.rst
share/cmake-${CMAKE_API}/Help/prop_dir/COMPILE_DEFINITIONS.rst
share/cmake-${CMAKE_API}/Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_dir/COMPILE_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/prop_dir/DEFINITIONS.rst
share/cmake-${CMAKE_API}/Help/prop_dir/EXCLUDE_FROM_ALL.rst
share/cmake-${CMAKE_API}/Help/prop_dir/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
share/cmake-${CMAKE_API}/Help/prop_dir/INCLUDE_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst
share/cmake-${CMAKE_API}/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION.rst
share/cmake-${CMAKE_API}/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/prop_dir/LABELS.rst
share/cmake-${CMAKE_API}/Help/prop_dir/LINK_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/prop_dir/LISTFILE_STACK.rst
share/cmake-${CMAKE_API}/Help/prop_dir/MACROS.rst
share/cmake-${CMAKE_API}/Help/prop_dir/PARENT_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/prop_dir/RULE_LAUNCH_COMPILE.rst
share/cmake-${CMAKE_API}/Help/prop_dir/RULE_LAUNCH_CUSTOM.rst
share/cmake-${CMAKE_API}/Help/prop_dir/RULE_LAUNCH_LINK.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/prop_dir/SOURCE_DIR.rst
share/cmake-${CMAKE_API}/Help/prop_dir/SUBDIRECTORIES.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/prop_dir/TESTS.rst
share/cmake-${CMAKE_API}/Help/prop_dir/TEST_INCLUDE_FILE.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/prop_dir/TEST_INCLUDE_FILES.rst
share/cmake-${CMAKE_API}/Help/prop_dir/VARIABLES.rst
share/cmake-${CMAKE_API}/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst
share/cmake-${CMAKE_API}/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Help/prop_dir/VS_STARTUP_PROJECT.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/ALLOW_DUPLICATE_CUSTOM_TARGETS.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/prop_gbl/AUTOGEN_SOURCE_GROUP.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/AUTOGEN_TARGETS_FOLDER.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/prop_gbl/AUTOMOC_SOURCE_GROUP.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/AUTOMOC_TARGETS_FOLDER.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/prop_gbl/AUTORCC_SOURCE_GROUP.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/DEBUG_CONFIGURATIONS.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/DISABLED_FEATURES.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/prop_gbl/ECLIPSE_EXTRA_CPROJECT_CONTENTS.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/ECLIPSE_EXTRA_NATURES.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/ENABLED_FEATURES.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/ENABLED_LANGUAGES.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/prop_gbl/FIND_LIBRARY_USE_LIB32_PATHS.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/prop_gbl/FIND_LIBRARY_USE_LIBX32_PATHS.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/prop_gbl/GENERATOR_IS_MULTI_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/GLOBAL_DEPENDS_NO_CYCLES.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/IN_TRY_COMPILE.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/JOB_POOLS.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/PACKAGES_FOUND.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/PACKAGES_NOT_FOUND.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/PREDEFINED_TARGETS_FOLDER.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/REPORT_UNDEFINED_PROPERTIES.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/RULE_LAUNCH_COMPILE.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/RULE_LAUNCH_CUSTOM.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/RULE_LAUNCH_LINK.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/RULE_MESSAGES.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/TARGET_ARCHIVES_MAY_BE_SHARED_LIBS.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/prop_gbl/TARGET_MESSAGES.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS.rst
share/cmake-${CMAKE_API}/Help/prop_gbl/USE_FOLDERS.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/prop_inst/CPACK_DESKTOP_SHORTCUTS.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_inst/CPACK_NEVER_OVERWRITE.rst
share/cmake-${CMAKE_API}/Help/prop_inst/CPACK_PERMANENT.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/prop_inst/CPACK_STARTUP_SHORTCUTS.rst
share/cmake-${CMAKE_API}/Help/prop_inst/CPACK_START_MENU_SHORTCUTS.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_inst/CPACK_WIX_ACL.rst
share/cmake-${CMAKE_API}/Help/prop_sf/ABSTRACT.rst
share/cmake-${CMAKE_API}/Help/prop_sf/AUTORCC_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/prop_sf/AUTOUIC_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/prop_sf/COMPILE_DEFINITIONS.rst
share/cmake-${CMAKE_API}/Help/prop_sf/COMPILE_DEFINITIONS_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_sf/COMPILE_FLAGS.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/prop_sf/COMPILE_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/prop_sf/EXTERNAL_OBJECT.rst
share/cmake-${CMAKE_API}/Help/prop_sf/Fortran_FORMAT.rst
share/cmake-${CMAKE_API}/Help/prop_sf/GENERATED.rst
share/cmake-${CMAKE_API}/Help/prop_sf/HEADER_FILE_ONLY.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/prop_sf/INCLUDE_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/prop_sf/KEEP_EXTENSION.rst
share/cmake-${CMAKE_API}/Help/prop_sf/LABELS.rst
share/cmake-${CMAKE_API}/Help/prop_sf/LANGUAGE.rst
share/cmake-${CMAKE_API}/Help/prop_sf/LOCATION.rst
share/cmake-${CMAKE_API}/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst
share/cmake-${CMAKE_API}/Help/prop_sf/OBJECT_DEPENDS.rst
share/cmake-${CMAKE_API}/Help/prop_sf/OBJECT_OUTPUTS.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/prop_sf/SKIP_AUTOGEN.rst
share/cmake-${CMAKE_API}/Help/prop_sf/SKIP_AUTOMOC.rst
share/cmake-${CMAKE_API}/Help/prop_sf/SKIP_AUTORCC.rst
share/cmake-${CMAKE_API}/Help/prop_sf/SKIP_AUTOUIC.rst
share/cmake-${CMAKE_API}/Help/prop_sf/SYMBOLIC.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/prop_sf/VS_COPY_TO_OUT_DIR.rst
share/cmake-${CMAKE_API}/Help/prop_sf/VS_CSHARP_tagname.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_sf/VS_DEPLOYMENT_CONTENT.rst
share/cmake-${CMAKE_API}/Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/prop_sf/VS_INCLUDE_IN_VSIX.rst
share/cmake-${CMAKE_API}/Help/prop_sf/VS_RESOURCE_GENERATOR.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/prop_sf/VS_SHADER_DISABLE_OPTIMIZATIONS.rst
share/cmake-${CMAKE_API}/Help/prop_sf/VS_SHADER_ENABLE_DEBUG.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_sf/VS_SHADER_ENTRYPOINT.rst
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Help/prop_sf/VS_SHADER_FLAGS.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_sf/VS_SHADER_MODEL.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/prop_sf/VS_SHADER_OBJECT_FILE_NAME.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/prop_sf/VS_SHADER_OUTPUT_HEADER_FILE.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_sf/VS_SHADER_TYPE.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/prop_sf/VS_SHADER_VARIABLE_NAME.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/prop_sf/VS_TOOL_OVERRIDE.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/prop_sf/VS_XAML_TYPE.rst
share/cmake-${CMAKE_API}/Help/prop_sf/WRAP_EXCLUDE.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_sf/XCODE_EXPLICIT_FILE_TYPE.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/prop_sf/XCODE_FILE_ATTRIBUTES.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_sf/XCODE_LAST_KNOWN_FILE_TYPE.rst
share/cmake-${CMAKE_API}/Help/prop_test/ATTACHED_FILES.rst
share/cmake-${CMAKE_API}/Help/prop_test/ATTACHED_FILES_ON_FAIL.rst
share/cmake-${CMAKE_API}/Help/prop_test/COST.rst
share/cmake-${CMAKE_API}/Help/prop_test/DEPENDS.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/prop_test/DISABLED.rst
share/cmake-${CMAKE_API}/Help/prop_test/ENVIRONMENT.rst
share/cmake-${CMAKE_API}/Help/prop_test/FAIL_REGULAR_EXPRESSION.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/prop_test/FIXTURES_CLEANUP.rst
share/cmake-${CMAKE_API}/Help/prop_test/FIXTURES_REQUIRED.rst
share/cmake-${CMAKE_API}/Help/prop_test/FIXTURES_SETUP.rst
share/cmake-${CMAKE_API}/Help/prop_test/LABELS.rst
share/cmake-${CMAKE_API}/Help/prop_test/MEASUREMENT.rst
share/cmake-${CMAKE_API}/Help/prop_test/PASS_REGULAR_EXPRESSION.rst
share/cmake-${CMAKE_API}/Help/prop_test/PROCESSORS.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/prop_test/PROCESSOR_AFFINITY.rst
share/cmake-${CMAKE_API}/Help/prop_test/REQUIRED_FILES.rst
share/cmake-${CMAKE_API}/Help/prop_test/RESOURCE_LOCK.rst
share/cmake-${CMAKE_API}/Help/prop_test/RUN_SERIAL.rst
share/cmake-${CMAKE_API}/Help/prop_test/SKIP_RETURN_CODE.rst
share/cmake-${CMAKE_API}/Help/prop_test/TIMEOUT.rst
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Help/prop_test/TIMEOUT_AFTER_MATCH.rst
share/cmake-${CMAKE_API}/Help/prop_test/WILL_FAIL.rst
share/cmake-${CMAKE_API}/Help/prop_test/WORKING_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ALIASED_TARGET.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_ANT_ADDITIONAL_OPTIONS.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_API.rst
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_API_MIN.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_ARCH.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_ASSETS_DIRECTORIES.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_GUI.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_JAR_DEPENDENCIES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_JAR_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_JAVA_SOURCE_DIR.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_NATIVE_LIB_DEPENDENCIES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_NATIVE_LIB_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_PROCESS_MAX.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_PROGUARD.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_PROGUARD_CONFIG_PATH.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_SECURE_PROPS_PATH.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_SKIP_ANT_STEP.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ANDROID_STL_TYPE.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ARCHIVE_OUTPUT_NAME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTOGEN_BUILD_DIR.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTOGEN_PARALLEL.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTOMOC.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTOMOC_COMPILER_PREDEFINES.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTOMOC_DEPEND_FILTERS.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTOMOC_MACRO_NAMES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTOMOC_MOC_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTORCC.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTORCC_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTOUIC.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTOUIC_OPTIONS.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTOUIC_SEARCH_PATHS.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/BINARY_DIR.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/BUILD_RPATH.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/BUILD_WITH_INSTALL_NAME_DIR.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/BUILD_WITH_INSTALL_RPATH.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/BUNDLE.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/BUNDLE_EXTENSION.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/COMMON_LANGUAGE_RUNTIME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPILE_DEFINITIONS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPILE_FEATURES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPILE_FLAGS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPILE_OPTIONS.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPILE_PDB_NAME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPILE_PDB_NAME_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPILE_PDB_NOTE.txt
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/CONFIG_OUTPUT_NAME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/CONFIG_POSTFIX.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/CUDA_EXTENSIONS.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/CUDA_PTX_COMPILATION.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/CUDA_RESOLVE_DEVICE_SYMBOLS.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/CUDA_SEPARABLE_COMPILATION.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/CUDA_STANDARD.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/CUDA_STANDARD_REQUIRED.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/CXX_EXTENSIONS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/CXX_STANDARD.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/CXX_STANDARD_REQUIRED.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/C_EXTENSIONS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/C_STANDARD.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/C_STANDARD_REQUIRED.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/DEBUG_POSTFIX.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/DEFINE_SYMBOL.rst
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/DOTNET_TARGET_FRAMEWORK_VERSION.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/ENABLE_EXPORTS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/EXCLUDE_FROM_ALL.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/EXPORT_NAME.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/EXPORT_PROPERTIES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/EchoString.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/FOLDER.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/FRAMEWORK.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/FRAMEWORK_VERSION.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/Fortran_FORMAT.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/Fortran_MODULE_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/GENERATOR_FILE_NAME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/GNUtoMS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/HAS_CXX.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_COMMON_LANGUAGE_RUNTIME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_CONFIGURATIONS.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_GLOBAL.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_IMPLIB.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_IMPLIB_CONFIG.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_LIBNAME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_LIBNAME_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_LOCATION.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_LOCATION_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_NO_SONAME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_NO_SONAME_CONFIG.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_OBJECTS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_OBJECTS_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_SONAME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_SONAME_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORT_PREFIX.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORT_SUFFIX.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/INCLUDE_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/INSTALL_NAME_DIR.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/INSTALL_RPATH.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/INSTALL_RPATH_USE_LINK_PATH.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERFACE_AUTOUIC_OPTIONS.rst
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERFACE_BUILD_PROPERTY.txt
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERFACE_SOURCES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
Changes 3.5.0: The cmake-gui(1) gained options to control warnings about deprecated functionality. The cmake-gui(1) learned an option to set the toolset to be used with VS IDE and Xcode generators, much like the existing -T option to cmake(1). The cmake-gui(1) gained a Regular Expression Explorer which may be used to create and evaluate regular expressions in real-time. The explorer window is available via the Tools menu. The -Wdev and -Wno-dev cmake(1) options now also enable and suppress the deprecated warnings output by default. The suppression of developer warnings as errors can now be controlled with the new -Werror=dev and -Wno-error=dev cmake(1) options. The cmake(1) -E command-line tools copy, copy_if_different, copy_directory, and make_directory learned to support multiple input files or directories. The cmake_parse_arguments() command is now implemented natively. The CMakeParseArguments module remains as an empty placeholder for compatibility. The install(DIRECTORY) command learned to support generator expressions in the list of directories. The CMAKE_ERROR_DEPRECATED variable can now be set using the -Werror=deprecated and -Wno-error=deprecated cmake(1) options. The CMAKE_WARN_DEPRECATED variable can now be set using the -Wdeprecated and -Wno-deprecated cmake(1) options. The VS_GLOBAL_<variable> target property is now implemented for VS 2010 and above. Previously it worked only in VS 2008 and below. The ExternalProject module learned a new GIT_REMOTE_NAME option to control the git clone --origin value. The FindBoost module now provides imported targets such as Boost::boost and Boost::filesystem. The FindFLEX module FLEX_TARGET macro learned a new DEFINES_FILE option to specify a custom output header to be generated. The FindGTest module now provides imported targets. The FindGTK2 module, when GTK2_USE_IMPORTED_TARGETS is enabled, now sets GTK2_LIBRARIES to contain the list of imported targets instead of the paths to the libraries. Moreover it now sets a new GTK2_TARGETS variable containing all the targets imported. The FindOpenMP module learned to support Clang. The FindOpenSSL module gained a new OPENSSL_MSVC_STATIC_RT option to search for libraries using the MSVC static runtime. The FindPNG module now provides imported targets. The FindTIFF module now provides imported targets. A FindXalanC module was introduced to find the Apache Xalan-C++ XSL transform processing library. The FindXercesC module now provides imported targets.
2016-03-14 11:49:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/IOS_INSTALL_COMBINED.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/JOB_POOL_COMPILE.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/JOB_POOL_LINK.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LABELS.rst
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/LANG_CLANG_TIDY.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/LANG_COMPILER_LAUNCHER.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/LANG_CPPCHECK.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/LANG_CPPLINT.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LANG_VISIBILITY_PRESET.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LIBRARY_OUTPUT_NAME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LINKER_LANGUAGE.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LINK_DEPENDS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LINK_DEPENDS_NO_SHARED.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LINK_FLAGS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LINK_FLAGS_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LINK_INTERFACE_LIBRARIES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LINK_INTERFACE_LIBRARIES_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LINK_LIBRARIES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LINK_SEARCH_END_STATIC.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LINK_SEARCH_START_STATIC.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/LINK_WHAT_YOU_USE.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LOCATION.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/LOCATION_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/MACOSX_BUNDLE.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/MACOSX_RPATH.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/NAME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/NO_SONAME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/OSX_ARCHITECTURES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/OSX_ARCHITECTURES_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/OUTPUT_NAME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/OUTPUT_NAME_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/PDB_NAME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/PDB_NAME_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/PDB_NOTE.txt
share/cmake-${CMAKE_API}/Help/prop_tgt/PDB_OUTPUT_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/POST_INSTALL_SCRIPT.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/PREFIX.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/PRE_INSTALL_SCRIPT.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/PRIVATE_HEADER.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/PROJECT_LABEL.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/PUBLIC_HEADER.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/RESOURCE.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/RULE_LAUNCH_COMPILE.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/RULE_LAUNCH_CUSTOM.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/RULE_LAUNCH_LINK.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/RUNTIME_OUTPUT_NAME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/RUNTIME_OUTPUT_NAME_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/SKIP_BUILD_RPATH.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/SOURCES.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/SOURCE_DIR.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/SOVERSION.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/STATIC_LIBRARY_FLAGS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/STATIC_LIBRARY_FLAGS_CONFIG.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/SUFFIX.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/TYPE.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VERSION.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VISIBILITY_INLINES_HIDDEN.rst
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_CONFIGURATION_TYPE.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_DEBUGGER_COMMAND.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_DOTNET_REFERENCEPROP_refname_TAG_tagname.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_DOTNET_REFERENCES.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_DOTNET_REFERENCES_COPY_LOCAL.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_DOTNET_REFERENCE_refname.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_GLOBAL_KEYWORD.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_GLOBAL_PROJECT_TYPES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_GLOBAL_ROOTNAMESPACE.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_GLOBAL_variable.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_IOT_EXTENSIONS_VERSION.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_IOT_STARTUP_TASK.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_KEYWORD.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_MOBILE_EXTENSIONS_VERSION.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_SCC_AUXPATH.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_SCC_LOCALPATH.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_SCC_PROJECTNAME.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_SCC_PROVIDER.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_SDK_REFERENCES.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_USER_PROPS.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_WINRT_COMPONENT.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_WINRT_EXTENSIONS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_WINRT_REFERENCES.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/WIN32_EXECUTABLE.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/XCODE_ATTRIBUTE_an-attribute.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/XCODE_EXPLICIT_FILE_TYPE.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/XCODE_PRODUCT_TYPE.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/prop_tgt/XCTEST.rst
share/cmake-${CMAKE_API}/Help/prop_tgt/XXX_OUTPUT_DIRECTORY.txt
share/cmake-${CMAKE_API}/Help/prop_tgt/XXX_OUTPUT_NAME.txt
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Help/release/3.0.rst
share/cmake-${CMAKE_API}/Help/release/3.1.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/release/3.10.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/release/3.11.rst
share/cmake-${CMAKE_API}/Help/release/3.12.rst
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Help/release/3.2.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/release/3.3.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/release/3.4.rst
Changes 3.5.0: The cmake-gui(1) gained options to control warnings about deprecated functionality. The cmake-gui(1) learned an option to set the toolset to be used with VS IDE and Xcode generators, much like the existing -T option to cmake(1). The cmake-gui(1) gained a Regular Expression Explorer which may be used to create and evaluate regular expressions in real-time. The explorer window is available via the Tools menu. The -Wdev and -Wno-dev cmake(1) options now also enable and suppress the deprecated warnings output by default. The suppression of developer warnings as errors can now be controlled with the new -Werror=dev and -Wno-error=dev cmake(1) options. The cmake(1) -E command-line tools copy, copy_if_different, copy_directory, and make_directory learned to support multiple input files or directories. The cmake_parse_arguments() command is now implemented natively. The CMakeParseArguments module remains as an empty placeholder for compatibility. The install(DIRECTORY) command learned to support generator expressions in the list of directories. The CMAKE_ERROR_DEPRECATED variable can now be set using the -Werror=deprecated and -Wno-error=deprecated cmake(1) options. The CMAKE_WARN_DEPRECATED variable can now be set using the -Wdeprecated and -Wno-deprecated cmake(1) options. The VS_GLOBAL_<variable> target property is now implemented for VS 2010 and above. Previously it worked only in VS 2008 and below. The ExternalProject module learned a new GIT_REMOTE_NAME option to control the git clone --origin value. The FindBoost module now provides imported targets such as Boost::boost and Boost::filesystem. The FindFLEX module FLEX_TARGET macro learned a new DEFINES_FILE option to specify a custom output header to be generated. The FindGTest module now provides imported targets. The FindGTK2 module, when GTK2_USE_IMPORTED_TARGETS is enabled, now sets GTK2_LIBRARIES to contain the list of imported targets instead of the paths to the libraries. Moreover it now sets a new GTK2_TARGETS variable containing all the targets imported. The FindOpenMP module learned to support Clang. The FindOpenSSL module gained a new OPENSSL_MSVC_STATIC_RT option to search for libraries using the MSVC static runtime. The FindPNG module now provides imported targets. The FindTIFF module now provides imported targets. A FindXalanC module was introduced to find the Apache Xalan-C++ XSL transform processing library. The FindXercesC module now provides imported targets.
2016-03-14 11:49:55 +01:00
share/cmake-${CMAKE_API}/Help/release/3.5.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/release/3.6.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/release/3.7.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/release/3.8.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/release/3.9.rst
share/cmake-${CMAKE_API}/Help/release/dev.txt
share/cmake-${CMAKE_API}/Help/release/index.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/ANDROID.rst
share/cmake-${CMAKE_API}/Help/variable/APPLE.rst
share/cmake-${CMAKE_API}/Help/variable/BORLAND.rst
share/cmake-${CMAKE_API}/Help/variable/BUILD_SHARED_LIBS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ABSOLUTE_DESTINATION_FILES.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_API.rst
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_API_MIN.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_ARCH.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_ARCH_ABI.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_ARM_MODE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_ARM_NEON.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_ASSETS_DIRECTORIES.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_GUI.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_JAR_DEPENDENCIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_JAR_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_JAVA_SOURCE_DIR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_NDK.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_NDK_DEPRECATED_HEADERS.rst
2016-12-04 09:52:56 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_PROCESS_MAX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_PROGUARD.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_PROGUARD_CONFIG_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_SECURE_PROPS_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_SKIP_ANT_STEP.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_STANDALONE_TOOLCHAIN.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ANDROID_STL_TYPE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_APPBUNDLE_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ARGC.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ARGV0.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AUTOGEN_PARALLEL.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AUTOMOC.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AUTOMOC_COMPILER_PREDEFINES.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AUTOMOC_DEPEND_FILTERS.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AUTOMOC_MACRO_NAMES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AUTOMOC_MOC_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AUTOMOC_RELAXED_MODE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AUTORCC.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AUTORCC_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AUTOUIC.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AUTOUIC_OPTIONS.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AUTOUIC_SEARCH_PATHS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_BACKWARDS_COMPATIBILITY.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_BINARY_DIR.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_BUILD_RPATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_BUILD_TOOL.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_BUILD_TYPE.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_BUILD_WITH_INSTALL_NAME_DIR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_BUILD_WITH_INSTALL_RPATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CACHEFILE_DIR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CACHE_MAJOR_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CACHE_MINOR_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CACHE_PATCH_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CFG_INTDIR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CL_64.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CODEBLOCKS_COMPILER_ID.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CODELITE_USE_TARGETS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_COLOR_MAKEFILE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_COMMAND.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_COMPILER_2005.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_COMPILER_IS_GNUCC.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_COMPILER_IS_GNUCXX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_COMPILER_IS_GNUG77.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CONFIGURATION_TYPES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CONFIG_POSTFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CROSSCOMPILING.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CROSSCOMPILING_EMULATOR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CTEST_COMMAND.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CUDA_EXTENSIONS.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CUDA_HOST_COMPILER.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CUDA_SEPARABLE_COMPILATION.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CUDA_STANDARD.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CUDA_STANDARD_REQUIRED.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CURRENT_BINARY_DIR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CURRENT_LIST_DIR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CURRENT_LIST_FILE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CURRENT_LIST_LINE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CURRENT_SOURCE_DIR.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CXX_COMPILE_FEATURES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CXX_EXTENSIONS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CXX_STANDARD.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CXX_STANDARD_REQUIRED.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_C_COMPILE_FEATURES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_C_EXTENSIONS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_C_STANDARD.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_C_STANDARD_REQUIRED.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_DEBUG_POSTFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_DEPENDS_IN_PROJECT_ONLY.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_DIRECTORY_LABELS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_DL_LIBS.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION.rst
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ECLIPSE_MAKE_ARGUMENTS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ECLIPSE_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_EDIT_COMMAND.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ENABLE_EXPORTS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ERROR_DEPRECATED.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_EXE_LINKER_FLAGS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG_INIT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_EXE_LINKER_FLAGS_INIT.rst
Changes 3.5.0: The cmake-gui(1) gained options to control warnings about deprecated functionality. The cmake-gui(1) learned an option to set the toolset to be used with VS IDE and Xcode generators, much like the existing -T option to cmake(1). The cmake-gui(1) gained a Regular Expression Explorer which may be used to create and evaluate regular expressions in real-time. The explorer window is available via the Tools menu. The -Wdev and -Wno-dev cmake(1) options now also enable and suppress the deprecated warnings output by default. The suppression of developer warnings as errors can now be controlled with the new -Werror=dev and -Wno-error=dev cmake(1) options. The cmake(1) -E command-line tools copy, copy_if_different, copy_directory, and make_directory learned to support multiple input files or directories. The cmake_parse_arguments() command is now implemented natively. The CMakeParseArguments module remains as an empty placeholder for compatibility. The install(DIRECTORY) command learned to support generator expressions in the list of directories. The CMAKE_ERROR_DEPRECATED variable can now be set using the -Werror=deprecated and -Wno-error=deprecated cmake(1) options. The CMAKE_WARN_DEPRECATED variable can now be set using the -Wdeprecated and -Wno-deprecated cmake(1) options. The VS_GLOBAL_<variable> target property is now implemented for VS 2010 and above. Previously it worked only in VS 2008 and below. The ExternalProject module learned a new GIT_REMOTE_NAME option to control the git clone --origin value. The FindBoost module now provides imported targets such as Boost::boost and Boost::filesystem. The FindFLEX module FLEX_TARGET macro learned a new DEFINES_FILE option to specify a custom output header to be generated. The FindGTest module now provides imported targets. The FindGTK2 module, when GTK2_USE_IMPORTED_TARGETS is enabled, now sets GTK2_LIBRARIES to contain the list of imported targets instead of the paths to the libraries. Moreover it now sets a new GTK2_TARGETS variable containing all the targets imported. The FindOpenMP module learned to support Clang. The FindOpenSSL module gained a new OPENSSL_MSVC_STATIC_RT option to search for libraries using the MSVC static runtime. The FindPNG module now provides imported targets. The FindTIFF module now provides imported targets. A FindXalanC module was introduced to find the Apache Xalan-C++ XSL transform processing library. The FindXercesC module now provides imported targets.
2016-03-14 11:49:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_EXTRA_GENERATOR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_APPBUNDLE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_FRAMEWORK.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_LIBRARY_PREFIXES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_LIBRARY_SUFFIXES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_NO_INSTALL_PREFIX.rst
Update to 3.1.1: Changes in 3.1.1 since 3.1.0: André Klitzing (1): Eclipse: Add org.eclipse.cdt.core.cnature to CXX projects (#15068) Ben Boeckel (4): get_test_property: clarify the documentation set_tests_properties: fix documentation tests: add tests for querying properties Xcode: Sort targets deterministically and with ALL_BUILD first (#15346) Brad King (14): bootstrap: Fix syntax for Solaris 10 shell (#15317) Help: Clarify MinGW v. MSYS Makefiles generators (#15319) Ninja: Do not crash when CMAKE_<LANG>_COMPILE_OBJECT is empty (#15325) Ninja: Generate rules only for languages compiled in a target (#15325) Tests: Test using objects from a language enabled in a subdirectory (#15325) Help: Add 3.1 release note about '#' escaping in Makefiles (#15322) Help: Clarify if(<variable>) documentation (#15335) Help: Document CMAKE_FIND_PACKAGE_NAME variable Xcode: Do not require code signing for compiler id (#15214) Copyright.txt: Update year range to end in 2015 XL: Fix link flags for executables on Linux with XL compilers QNX: Fix detection of QCC compiler id (#15349) Xcode: Fix early termination on per-config source file error CMake 3.1.1 Calin Cascaval (1): CPack: Fix PackageMaker internal versioning for OS X 10.10 Chuck Atkins (1): Fix compilation with the Oracle / Sun compiler (#15318) Daniele E. Domenichelli (1): Help: Small fixes in CPackComponent documentation David Coppa (1): FindRuby: fix selection of version x.0 (#15345) Domen Vrankar (1): CPack: Avoid crash on invalid CMake generator name (#15308) Evangelos Foutras (1): FindRuby: Fix output check in _RUBY_CONFIG_VAR Gregor Jasny (1): find_package: Document CMAKE_FIND_PACKAGE_NAME variable Justin Borodinsky (1): QtAutoUic: Restore source file AUTOUIC_OPTIONS settings Mark Abraham (1): FindCUDA: Do not assume CMAKE_SYSTEM_PROCESSOR is set Peter Vasil (2): cmake-mode.el: Fix extracting keyword at point in cmake-help cmake-mode.el: Re-add explicit call to require thingatpt Rolf Eike Beer (5): FindIce: Port to work with CMP0054 NEW behavior FindSDL: Allow if() to dereference SDL_INCLUDE_DIR for matching FindQt: fix setting DESIRED_QT_VERSION if "find_package(Qt VVV)" was called FindQt: fix variable name in error message FindQt: explicitely mention that it cannot Qt5 or later Sergey Nikulov (1): FindBoost: Add latest Boost version 1.57.0 and next milestone 1.58.0 Simon Gomizelj (1): KWSys Terminal: Add xterm-termite to VT100 color support whitelist Stephen Kelly (7): Help: Document valid 14 value for CXX_STANDARD. (#15339) get_target_property: discern empty from undefined properties (#15333) QtAutoUic: Add a test for the regression in the parent commit. cmMakefile: Rename a method to what it really does. Features: Fix the COMPILE_FEATURES genex for unavailable features. cmTarget: Compute link language of TARGET_OBJECTS with CMP0026 OLD (#15338) Help: Link relevant documents for virtual override features (#15311) Tim Blechmann (1): Help: Add INTERFACE_LIBRARY to TYPE target property documentation William Lynch (1): Help: Update cmake.org links to avoid redirects
2015-01-24 17:55:20 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_PACKAGE_NAME.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_PACKAGE_SORT_DIRECTION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_PACKAGE_SORT_ORDER.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_PACKAGE_WARN_NO_MODULE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_ROOT_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_INCLUDE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_LIBRARY.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PACKAGE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PROGRAM.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_XXX.txt
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FOLDER.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FRAMEWORK_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_Fortran_FORMAT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_Fortran_MODDIR_DEFAULT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_Fortran_MODDIR_FLAG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_Fortran_MODOUT_FLAG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_Fortran_MODULE_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_GENERATOR.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_GENERATOR_INSTANCE.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_GENERATOR_PLATFORM.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_GENERATOR_TOOLSET.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_GNUtoMS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_HOME_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_HOST_APPLE.rst
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_HOST_SOLARIS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_HOST_SYSTEM.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_HOST_SYSTEM_NAME.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_HOST_SYSTEM_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_HOST_UNIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_HOST_WIN32.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_IGNORE_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_IMPORT_LIBRARY_PREFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_IMPORT_LIBRARY_SUFFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INCLUDE_CURRENT_DIR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INCLUDE_DIRECTORIES_BEFORE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INCLUDE_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INSTALL_DEFAULT_COMPONENT_NAME.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INSTALL_MESSAGE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INSTALL_NAME_DIR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INSTALL_PREFIX.rst
2016-12-04 09:52:56 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INSTALL_RPATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INTERNAL_PLATFORM_ABI.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
Changes 3.5.0: The cmake-gui(1) gained options to control warnings about deprecated functionality. The cmake-gui(1) learned an option to set the toolset to be used with VS IDE and Xcode generators, much like the existing -T option to cmake(1). The cmake-gui(1) gained a Regular Expression Explorer which may be used to create and evaluate regular expressions in real-time. The explorer window is available via the Tools menu. The -Wdev and -Wno-dev cmake(1) options now also enable and suppress the deprecated warnings output by default. The suppression of developer warnings as errors can now be controlled with the new -Werror=dev and -Wno-error=dev cmake(1) options. The cmake(1) -E command-line tools copy, copy_if_different, copy_directory, and make_directory learned to support multiple input files or directories. The cmake_parse_arguments() command is now implemented natively. The CMakeParseArguments module remains as an empty placeholder for compatibility. The install(DIRECTORY) command learned to support generator expressions in the list of directories. The CMAKE_ERROR_DEPRECATED variable can now be set using the -Werror=deprecated and -Wno-error=deprecated cmake(1) options. The CMAKE_WARN_DEPRECATED variable can now be set using the -Wdeprecated and -Wno-deprecated cmake(1) options. The VS_GLOBAL_<variable> target property is now implemented for VS 2010 and above. Previously it worked only in VS 2008 and below. The ExternalProject module learned a new GIT_REMOTE_NAME option to control the git clone --origin value. The FindBoost module now provides imported targets such as Boost::boost and Boost::filesystem. The FindFLEX module FLEX_TARGET macro learned a new DEFINES_FILE option to specify a custom output header to be generated. The FindGTest module now provides imported targets. The FindGTK2 module, when GTK2_USE_IMPORTED_TARGETS is enabled, now sets GTK2_LIBRARIES to contain the list of imported targets instead of the paths to the libraries. Moreover it now sets a new GTK2_TARGETS variable containing all the targets imported. The FindOpenMP module learned to support Clang. The FindOpenSSL module gained a new OPENSSL_MSVC_STATIC_RT option to search for libraries using the MSVC static runtime. The FindPNG module now provides imported targets. The FindTIFF module now provides imported targets. A FindXalanC module was introduced to find the Apache Xalan-C++ XSL transform processing library. The FindXercesC module now provides imported targets.
2016-03-14 11:49:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_IOS_INSTALL_COMBINED.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_JOB_POOLS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_JOB_POOL_COMPILE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_JOB_POOL_LINK.rst
2016-12-04 09:52:56 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_MACHINE.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_PREFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_ANDROID_TOOLCHAIN_SUFFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_ARCHIVE_APPEND.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_ARCHIVE_CREATE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_ARCHIVE_FINISH.rst
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_CLANG_TIDY.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER_ABI.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER_AR.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER_EXTERNAL_TOOLCHAIN.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER_ID.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER_LAUNCHER.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER_LOADED.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER_PREDEFINES_COMMAND.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER_RANLIB.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER_TARGET.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER_VERSION.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER_VERSION_INTERNAL.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILE_OBJECT.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_CPPCHECK.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_CPPLINT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_CREATE_SHARED_LIBRARY.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_CREATE_SHARED_MODULE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_CREATE_STATIC_LIBRARY.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_FLAGS.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_FLAGS_CONFIG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_FLAGS_CONFIG_INIT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_FLAGS_DEBUG.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_FLAGS_DEBUG_INIT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_FLAGS_INIT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL_INIT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_FLAGS_RELEASE.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_FLAGS_RELEASE_INIT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO_INIT.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_CONFIG.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_DEBUG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_MINSIZEREL.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELEASE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELWITHDEBINFO.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_IGNORE_EXTENSIONS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_IMPLICIT_INCLUDE_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_IMPLICIT_LINK_LIBRARIES.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_LIBRARY_ARCHITECTURE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_LINKER_PREFERENCE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_LINKER_PREFERENCE_PROPAGATES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_LINK_EXECUTABLE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_OUTPUT_EXTENSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_PLATFORM_ID.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_SIMULATE_ID.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_SIMULATE_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_SIZEOF_DATA_PTR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS.rst
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_STANDARD_INCLUDE_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_STANDARD_LIBRARIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_VISIBILITY_PRESET.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LIBRARY_ARCHITECTURE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LIBRARY_ARCHITECTURE_REGEX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LIBRARY_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LIBRARY_PATH_FLAG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LINK_DEF_FILE_FLAG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LINK_DEPENDS_NO_SHARED.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LINK_INTERFACE_LIBRARIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LINK_LIBRARY_FILE_FLAG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LINK_LIBRARY_FLAG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LINK_LIBRARY_SUFFIX.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LINK_SEARCH_END_STATIC.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LINK_SEARCH_START_STATIC.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LINK_WHAT_YOU_USE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MACOSX_BUNDLE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MACOSX_RPATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MAJOR_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MAKE_PROGRAM.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG.rst
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MATCH_COUNT.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MATCH_n.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MFC_FLAG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MINIMUM_REQUIRED_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MINOR_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MODULE_LINKER_FLAGS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG_INIT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MODULE_LINKER_FLAGS_INIT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MODULE_PATH.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MSVCIDE_RUN_PATH.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_NETRC.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_NETRC_FILE.rst
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_NOT_USING_CONFIG_FLAGS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_NO_BUILTIN_CHRPATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_OBJECT_PATH_MAX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_OSX_ARCHITECTURES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_OSX_DEPLOYMENT_TARGET.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_OSX_SYSROOT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_OSX_VARIABLE.txt
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PARENT_LIST_FILE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PATCH_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_POSITION_INDEPENDENT_CODE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PREFIX_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PROGRAM_PATH.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PROJECT_DESCRIPTION.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PROJECT_HOMEPAGE_URL.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PROJECT_NAME.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PROJECT_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PROJECT_VERSION_MAJOR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PROJECT_VERSION_MINOR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PROJECT_VERSION_PATCH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_PROJECT_VERSION_TWEAK.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_RANLIB.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ROOT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SCRIPT_MODE_FILE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SHARED_LIBRARY_PREFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SHARED_LIBRARY_SUFFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SHARED_LINKER_FLAGS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG_INIT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SHARED_LINKER_FLAGS_INIT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SHARED_MODULE_PREFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SHARED_MODULE_SUFFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SIZEOF_VOID_P.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SKIP_BUILD_RPATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SKIP_INSTALL_RPATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SKIP_INSTALL_RULES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SKIP_RPATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SOURCE_DIR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_STAGING_PREFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_STATIC_LIBRARY_PREFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_STATIC_LIBRARY_SUFFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_STATIC_LINKER_FLAGS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG_INIT.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_STATIC_LINKER_FLAGS_INIT.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SUPPRESS_REGENERATION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSROOT.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSROOT_COMPILE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSROOT_LINK.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSTEM.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSTEM_APPBUNDLE_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSTEM_FRAMEWORK_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSTEM_IGNORE_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSTEM_INCLUDE_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSTEM_LIBRARY_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSTEM_NAME.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSTEM_PROCESSOR.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSTEM_PROGRAM_PATH.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSTEM_VERSION.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_Swift_LANGUAGE_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_TOOLCHAIN_FILE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_TRY_COMPILE_CONFIGURATION.rst
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_TRY_COMPILE_TARGET_TYPE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_TWEAK_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_USE_RELATIVE_PATHS.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VERBOSE_MAKEFILE.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VISIBILITY_INLINES_HIDDEN.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_NsightTegra_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_PLATFORM_NAME.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_PLATFORM_TOOLSET.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA.rst
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_SDK_EXCLUDE_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_SDK_INCLUDE_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_SDK_LIBRARY_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_SDK_REFERENCE_DIRECTORIES.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_SDK_SOURCE_DIRECTORIES.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_WARN_DEPRECATED.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_WIN32_EXECUTABLE.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_XCODE_ATTRIBUTE_an-attribute.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_XCODE_GENERATE_SCHEME.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/variable/CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY.rst
share/cmake-${CMAKE_API}/Help/variable/CMAKE_XCODE_PLATFORM_TOOLSET.rst
share/cmake-${CMAKE_API}/Help/variable/CPACK_ABSOLUTE_DESTINATION_FILES.rst
share/cmake-${CMAKE_API}/Help/variable/CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/variable/CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
share/cmake-${CMAKE_API}/Help/variable/CPACK_INCLUDE_TOPLEVEL_DIRECTORY.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/variable/CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.rst
share/cmake-${CMAKE_API}/Help/variable/CPACK_INSTALL_SCRIPT.rst
share/cmake-${CMAKE_API}/Help/variable/CPACK_PACKAGING_INSTALL_PREFIX.rst
share/cmake-${CMAKE_API}/Help/variable/CPACK_SET_DESTDIR.rst
share/cmake-${CMAKE_API}/Help/variable/CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_BINARY_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_BUILD_COMMAND.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_BUILD_NAME.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_BZR_COMMAND.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_BZR_UPDATE_OPTIONS.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_CHANGE_ID.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_CHECKOUT_COMMAND.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CONFIGURATION_TYPE.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CONFIGURE_COMMAND.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_COVERAGE_COMMAND.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_COVERAGE_EXTRA_FLAGS.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CURL_OPTIONS.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_COVERAGE_EXCLUDE.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_ERROR_EXCEPTION.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_ERROR_MATCH.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_ERROR_POST_CONTEXT.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_ERROR_PRE_CONTEXT.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_MEMCHECK_IGNORE.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_POST_MEMCHECK.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_POST_TEST.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_PRE_MEMCHECK.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_PRE_TEST.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_TEST_IGNORE.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_WARNING_EXCEPTION.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_WARNING_MATCH.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CUSTOM_XXX.txt
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_CVS_CHECKOUT.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CVS_COMMAND.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_CVS_UPDATE_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_DROP_LOCATION.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_DROP_METHOD.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_DROP_SITE.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_DROP_SITE_CDASH.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_DROP_SITE_PASSWORD.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_DROP_SITE_USER.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_EXTRA_COVERAGE_GLOB.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_GIT_COMMAND.rst
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_GIT_INIT_SUBMODULES.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_GIT_UPDATE_CUSTOM.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_GIT_UPDATE_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_HG_COMMAND.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_HG_UPDATE_OPTIONS.rst
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_LABELS_FOR_SUBPROJECTS.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_MEMORYCHECK_COMMAND.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_MEMORYCHECK_COMMAND_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_MEMORYCHECK_SANITIZER_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_MEMORYCHECK_SUPPRESSIONS_FILE.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_MEMORYCHECK_TYPE.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_NIGHTLY_START_TIME.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_P4_CLIENT.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_P4_COMMAND.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_P4_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_P4_UPDATE_OPTIONS.rst
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_RUN_CURRENT_SCRIPT.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_SCP_COMMAND.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_SITE.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_SOURCE_DIRECTORY.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_SVN_COMMAND.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_SVN_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_SVN_UPDATE_OPTIONS.rst
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_TEST_LOAD.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/CTEST_TEST_TIMEOUT.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_TRIGGER_SITE.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_UPDATE_COMMAND.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_UPDATE_OPTIONS.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_UPDATE_VERSION_ONLY.rst
share/cmake-${CMAKE_API}/Help/variable/CTEST_USE_LAUNCHERS.rst
share/cmake-${CMAKE_API}/Help/variable/CYGWIN.rst
share/cmake-${CMAKE_API}/Help/variable/ENV.rst
share/cmake-${CMAKE_API}/Help/variable/EXECUTABLE_OUTPUT_PATH.rst
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Help/variable/GHS-MULTI.rst
share/cmake-${CMAKE_API}/Help/variable/LIBRARY_OUTPUT_PATH.rst
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Help/variable/MINGW.rst
share/cmake-${CMAKE_API}/Help/variable/MSVC.rst
share/cmake-${CMAKE_API}/Help/variable/MSVC10.rst
share/cmake-${CMAKE_API}/Help/variable/MSVC11.rst
share/cmake-${CMAKE_API}/Help/variable/MSVC12.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/MSVC14.rst
share/cmake-${CMAKE_API}/Help/variable/MSVC60.rst
share/cmake-${CMAKE_API}/Help/variable/MSVC70.rst
share/cmake-${CMAKE_API}/Help/variable/MSVC71.rst
share/cmake-${CMAKE_API}/Help/variable/MSVC80.rst
share/cmake-${CMAKE_API}/Help/variable/MSVC90.rst
share/cmake-${CMAKE_API}/Help/variable/MSVC_IDE.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/variable/MSVC_TOOLSET_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/MSVC_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT-NAME_BINARY_DIR.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/variable/PROJECT-NAME_DESCRIPTION.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT-NAME_HOMEPAGE_URL.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT-NAME_SOURCE_DIR.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT-NAME_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT-NAME_VERSION_MAJOR.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT-NAME_VERSION_MINOR.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT-NAME_VERSION_PATCH.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT-NAME_VERSION_TWEAK.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT_BINARY_DIR.rst
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Help/variable/PROJECT_DESCRIPTION.rst
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Help/variable/PROJECT_HOMEPAGE_URL.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT_NAME.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT_SOURCE_DIR.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT_VERSION.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT_VERSION_MAJOR.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT_VERSION_MINOR.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT_VERSION_PATCH.rst
share/cmake-${CMAKE_API}/Help/variable/PROJECT_VERSION_TWEAK.rst
share/cmake-${CMAKE_API}/Help/variable/PackageName_ROOT.rst
share/cmake-${CMAKE_API}/Help/variable/UNIX.rst
share/cmake-${CMAKE_API}/Help/variable/WIN32.rst
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Help/variable/WINCE.rst
share/cmake-${CMAKE_API}/Help/variable/WINDOWS_PHONE.rst
share/cmake-${CMAKE_API}/Help/variable/WINDOWS_STORE.rst
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Help/variable/XCODE.rst
share/cmake-${CMAKE_API}/Help/variable/XCODE_VERSION.rst
share/cmake-${CMAKE_API}/Modules/.NoDartCoverage
share/cmake-${CMAKE_API}/Modules/AddFileDependencies.cmake
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/AndroidTestUtilities.cmake
share/cmake-${CMAKE_API}/Modules/AndroidTestUtilities/PushToAndroidDevice.cmake
share/cmake-${CMAKE_API}/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in
share/cmake-${CMAKE_API}/Modules/BasicConfigVersion-ExactVersion.cmake.in
share/cmake-${CMAKE_API}/Modules/BasicConfigVersion-SameMajorVersion.cmake.in
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Modules/BasicConfigVersion-SameMinorVersion.cmake.in
Update to 2.6.2: Changes in CMake 2.6.2 RC 6 - Fix bug#7669 cpack did not work when sym-linked after install Changes in CMake 2.6.2 RC 5 - Add beta BundleUtilities.cmake file - CPackRPM 7435 fixes to add optional post-install - Fix Bug #7456, FindBoost versioned find not working - Fix FindCurses to be able to work without ncurses.h - FindQt4 fix bug #7433, add a bit more documentation and add ability to specify extra flags to lupdate. Changes in CMake 2.6.2 RC 4 - Fix bug #7359 make llvm-gcc work, by explicitely excluding "llvm-" from _CMAKE_TOOLCHAIN_PREFIX - Fix bug 7046: OS X Framework support: extensionless headers were being ignored when specified as public headers - Fix documentation in CheckCCompilerFlag.cmake - Add better version support to find_package command - Fix Xcode debug not working - Add VERSION compare to if command - Make FindThreads sete THREADS_FOUND - Deb cpack generator sets Installed-Size for the package - Do not add an empty /D"" at the end of VS 6 .dsp compile lines - Recognize /MAP in VS 7 and greater - Add new policy CMP0009 - GLOB_RECURSE should not follow symlinks by default Changes in CMake 2.6.2 RC 3 - Fix bug, and remove extra closing > in visual fortran projects. - Fix bug in ctest -C where it was sometimes ignored. - Fix crash with exec_process when cmake is being debugged on windows - Fix unsetting of global properties Changes in CMake 2.6.2 RC 2 - allow tool chains to limit object path length - add info.plist to frameworks - better preservation of user link lines - add a get command for cmake policies - support for imported libraries of unknown type - support link interface in target_link_libraries - Do not hang when select lies - .m compiled with gcc and g++ on mac - Fix issue when application bundle dir is removed cmake needs to re-run automatically - Report an error when configure has one error - Fix bug where -E commands stole command line options - Fix infinite recursion bug with try-compile and change of compilers - Fix delete and backspace in ccmake - Fix coverage not to follow symlinks - Add more possible languages for NSIS in cpack - FindQt4.cmake fix bug #7433, add documentation that directories also can be specified to update the translation files. - Add standard arg handling to FindPHP4.cmake - Add X11R6 to search path for FindOpenGL - update cmake-syntax.vim to have more keywords - BUG: fix #7477, set VERBOSE=1 in the kdevelop setting for the environment, not together with the make executable - UsePkgConfig.cmake - clean up, add a status message in case pkgconfig didn't find the package, sync with kde - FindX11 look in more places - FindTIFF look for more names - FindQt3, make sure qt4 is not found and some style stuff - FindPNG add more names of linpng (sync with the KDE version) - FindKDE3/KDE4 sanity checks on qt versions found - FindLibXMl2 also search for xmllint, which comes with libxml2 (sync with FindLibXml2.cmake from KDE) - Fix sizeof, and other compiler INFO string checks with GNU linker's --gc-sections - Fix bogus dependency on executable targets when a linked library happended to match the name of an executable target - Improve readability of circular depends error - Fix crash on circular target dependencies - find_package now knows about lib64 paths - Fix gentoo elf security issue with RPATH and RUNPATH Changes in CMake 2.6.2 RC 1 - Fix abort in eclipse generator with empty EXECUTABLE_OUTPUT_PATH - Fix FindKDE3.cmake syntax error - Fix custom command output by relative path not always working - Fix bug, Do not convert RPATH entries to full path. - Allow for "$ORIGIN" into the RPATH> - Allow for static libraries with lots of objects using archive append - Fix documentation for FindImageMagick.cmake - Fix link error with MS compiler and comdef - Fix crash when attempting to load the RPATH out of a non-ELF file - Add --trace option to cmake allowing for the tracing of a cmake run - Fix for issue #4971 where the case of the drive letter component of the filenames might be different when analyzing gcov output. - Add warning level W0 to visual studio - Add support for OSX library version flags
2008-11-08 14:20:17 +01:00
share/cmake-${CMAKE_API}/Modules/BundleUtilities.cmake
share/cmake-${CMAKE_API}/Modules/CMake.cmake
share/cmake-${CMAKE_API}/Modules/CMakeASM-ATTInformation.cmake
share/cmake-${CMAKE_API}/Modules/CMakeASMCompiler.cmake.in
share/cmake-${CMAKE_API}/Modules/CMakeASMInformation.cmake
share/cmake-${CMAKE_API}/Modules/CMakeASM_MASMInformation.cmake
share/cmake-${CMAKE_API}/Modules/CMakeASM_NASMInformation.cmake
share/cmake-${CMAKE_API}/Modules/CMakeAddFortranSubdirectory.cmake
share/cmake-${CMAKE_API}/Modules/CMakeAddFortranSubdirectory/build_mingw.cmake.in
share/cmake-${CMAKE_API}/Modules/CMakeAddFortranSubdirectory/config_mingw.cmake.in
share/cmake-${CMAKE_API}/Modules/CMakeAddNewLanguage.txt
share/cmake-${CMAKE_API}/Modules/CMakeBackwardCompatibilityC.cmake
share/cmake-${CMAKE_API}/Modules/CMakeBackwardCompatibilityCXX.cmake
share/cmake-${CMAKE_API}/Modules/CMakeBorlandFindMake.cmake
share/cmake-${CMAKE_API}/Modules/CMakeBuildSettings.cmake.in
share/cmake-${CMAKE_API}/Modules/CMakeCCompiler.cmake.in
share/cmake-${CMAKE_API}/Modules/CMakeCCompilerABI.c
share/cmake-${CMAKE_API}/Modules/CMakeCCompilerId.c.in
share/cmake-${CMAKE_API}/Modules/CMakeCInformation.cmake
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Modules/CMakeCSharpCompiler.cmake.in
share/cmake-${CMAKE_API}/Modules/CMakeCSharpCompilerId.cs.in
share/cmake-${CMAKE_API}/Modules/CMakeCSharpInformation.cmake
share/cmake-${CMAKE_API}/Modules/CMakeCUDACompiler.cmake.in
share/cmake-${CMAKE_API}/Modules/CMakeCUDACompilerABI.cu
share/cmake-${CMAKE_API}/Modules/CMakeCUDACompilerId.cu.in
share/cmake-${CMAKE_API}/Modules/CMakeCUDAInformation.cmake
share/cmake-${CMAKE_API}/Modules/CMakeCXXCompiler.cmake.in
share/cmake-${CMAKE_API}/Modules/CMakeCXXCompilerABI.cpp
share/cmake-${CMAKE_API}/Modules/CMakeCXXCompilerId.cpp.in
share/cmake-${CMAKE_API}/Modules/CMakeCXXInformation.cmake
share/cmake-${CMAKE_API}/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
share/cmake-${CMAKE_API}/Modules/CMakeCommonLanguageInclude.cmake
share/cmake-${CMAKE_API}/Modules/CMakeCompilerABI.h
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/CMakeCompilerIdDetection.cmake
share/cmake-${CMAKE_API}/Modules/CMakeConfigurableFile.in
share/cmake-${CMAKE_API}/Modules/CMakeDependentOption.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineASM-ATTCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineASMCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineASM_MASMCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineASM_NASMCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineCCompiler.cmake
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Modules/CMakeDetermineCSharpCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineCUDACompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineCXXCompiler.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/CMakeDetermineCompileFeatures.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineCompilerABI.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineCompilerId.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineFortranCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineJavaCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineRCCompiler.cmake
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Modules/CMakeDetermineSwiftCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineSystem.cmake
share/cmake-${CMAKE_API}/Modules/CMakeDetermineVSServicePack.cmake
share/cmake-${CMAKE_API}/Modules/CMakeExpandImportedTargets.cmake
share/cmake-${CMAKE_API}/Modules/CMakeExportBuildSettings.cmake
share/cmake-${CMAKE_API}/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake
share/cmake-${CMAKE_API}/Modules/CMakeFindBinUtils.cmake
share/cmake-${CMAKE_API}/Modules/CMakeFindCodeBlocks.cmake
share/cmake-${CMAKE_API}/Modules/CMakeFindDependencyMacro.cmake
share/cmake-${CMAKE_API}/Modules/CMakeFindEclipseCDT4.cmake
share/cmake-${CMAKE_API}/Modules/CMakeFindFrameworks.cmake
share/cmake-${CMAKE_API}/Modules/CMakeFindJavaCommon.cmake
share/cmake-${CMAKE_API}/Modules/CMakeFindKate.cmake
share/cmake-${CMAKE_API}/Modules/CMakeFindPackageMode.cmake
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Modules/CMakeFindSublimeText2.cmake
share/cmake-${CMAKE_API}/Modules/CMakeFindWMake.cmake
share/cmake-${CMAKE_API}/Modules/CMakeFindXCode.cmake
share/cmake-${CMAKE_API}/Modules/CMakeForceCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeFortranCompiler.cmake.in
share/cmake-${CMAKE_API}/Modules/CMakeFortranCompilerABI.F
share/cmake-${CMAKE_API}/Modules/CMakeFortranCompilerId.F.in
share/cmake-${CMAKE_API}/Modules/CMakeFortranInformation.cmake
share/cmake-${CMAKE_API}/Modules/CMakeGenericSystem.cmake
share/cmake-${CMAKE_API}/Modules/CMakeGraphVizOptions.cmake
Changes 3.5.0: The cmake-gui(1) gained options to control warnings about deprecated functionality. The cmake-gui(1) learned an option to set the toolset to be used with VS IDE and Xcode generators, much like the existing -T option to cmake(1). The cmake-gui(1) gained a Regular Expression Explorer which may be used to create and evaluate regular expressions in real-time. The explorer window is available via the Tools menu. The -Wdev and -Wno-dev cmake(1) options now also enable and suppress the deprecated warnings output by default. The suppression of developer warnings as errors can now be controlled with the new -Werror=dev and -Wno-error=dev cmake(1) options. The cmake(1) -E command-line tools copy, copy_if_different, copy_directory, and make_directory learned to support multiple input files or directories. The cmake_parse_arguments() command is now implemented natively. The CMakeParseArguments module remains as an empty placeholder for compatibility. The install(DIRECTORY) command learned to support generator expressions in the list of directories. The CMAKE_ERROR_DEPRECATED variable can now be set using the -Werror=deprecated and -Wno-error=deprecated cmake(1) options. The CMAKE_WARN_DEPRECATED variable can now be set using the -Wdeprecated and -Wno-deprecated cmake(1) options. The VS_GLOBAL_<variable> target property is now implemented for VS 2010 and above. Previously it worked only in VS 2008 and below. The ExternalProject module learned a new GIT_REMOTE_NAME option to control the git clone --origin value. The FindBoost module now provides imported targets such as Boost::boost and Boost::filesystem. The FindFLEX module FLEX_TARGET macro learned a new DEFINES_FILE option to specify a custom output header to be generated. The FindGTest module now provides imported targets. The FindGTK2 module, when GTK2_USE_IMPORTED_TARGETS is enabled, now sets GTK2_LIBRARIES to contain the list of imported targets instead of the paths to the libraries. Moreover it now sets a new GTK2_TARGETS variable containing all the targets imported. The FindOpenMP module learned to support Clang. The FindOpenSSL module gained a new OPENSSL_MSVC_STATIC_RT option to search for libraries using the MSVC static runtime. The FindPNG module now provides imported targets. The FindTIFF module now provides imported targets. A FindXalanC module was introduced to find the Apache Xalan-C++ XSL transform processing library. The FindXercesC module now provides imported targets.
2016-03-14 11:49:55 +01:00
share/cmake-${CMAKE_API}/Modules/CMakeIOSInstallCombined.cmake
share/cmake-${CMAKE_API}/Modules/CMakeImportBuildSettings.cmake
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Modules/CMakeInitializeConfigs.cmake
share/cmake-${CMAKE_API}/Modules/CMakeJOMFindMake.cmake
share/cmake-${CMAKE_API}/Modules/CMakeJavaCompiler.cmake.in
share/cmake-${CMAKE_API}/Modules/CMakeJavaInformation.cmake
Changes 3.5.0: The cmake-gui(1) gained options to control warnings about deprecated functionality. The cmake-gui(1) learned an option to set the toolset to be used with VS IDE and Xcode generators, much like the existing -T option to cmake(1). The cmake-gui(1) gained a Regular Expression Explorer which may be used to create and evaluate regular expressions in real-time. The explorer window is available via the Tools menu. The -Wdev and -Wno-dev cmake(1) options now also enable and suppress the deprecated warnings output by default. The suppression of developer warnings as errors can now be controlled with the new -Werror=dev and -Wno-error=dev cmake(1) options. The cmake(1) -E command-line tools copy, copy_if_different, copy_directory, and make_directory learned to support multiple input files or directories. The cmake_parse_arguments() command is now implemented natively. The CMakeParseArguments module remains as an empty placeholder for compatibility. The install(DIRECTORY) command learned to support generator expressions in the list of directories. The CMAKE_ERROR_DEPRECATED variable can now be set using the -Werror=deprecated and -Wno-error=deprecated cmake(1) options. The CMAKE_WARN_DEPRECATED variable can now be set using the -Wdeprecated and -Wno-deprecated cmake(1) options. The VS_GLOBAL_<variable> target property is now implemented for VS 2010 and above. Previously it worked only in VS 2008 and below. The ExternalProject module learned a new GIT_REMOTE_NAME option to control the git clone --origin value. The FindBoost module now provides imported targets such as Boost::boost and Boost::filesystem. The FindFLEX module FLEX_TARGET macro learned a new DEFINES_FILE option to specify a custom output header to be generated. The FindGTest module now provides imported targets. The FindGTK2 module, when GTK2_USE_IMPORTED_TARGETS is enabled, now sets GTK2_LIBRARIES to contain the list of imported targets instead of the paths to the libraries. Moreover it now sets a new GTK2_TARGETS variable containing all the targets imported. The FindOpenMP module learned to support Clang. The FindOpenSSL module gained a new OPENSSL_MSVC_STATIC_RT option to search for libraries using the MSVC static runtime. The FindPNG module now provides imported targets. The FindTIFF module now provides imported targets. A FindXalanC module was introduced to find the Apache Xalan-C++ XSL transform processing library. The FindXercesC module now provides imported targets.
2016-03-14 11:49:55 +01:00
share/cmake-${CMAKE_API}/Modules/CMakeLanguageInformation.cmake
share/cmake-${CMAKE_API}/Modules/CMakeMSYSFindMake.cmake
share/cmake-${CMAKE_API}/Modules/CMakeMinGWFindMake.cmake
share/cmake-${CMAKE_API}/Modules/CMakeNMakeFindMake.cmake
share/cmake-${CMAKE_API}/Modules/CMakeNinjaFindMake.cmake
share/cmake-${CMAKE_API}/Modules/CMakePackageConfigHelpers.cmake
share/cmake-${CMAKE_API}/Modules/CMakeParseArguments.cmake
share/cmake-${CMAKE_API}/Modules/CMakeParseImplicitLinkInfo.cmake
share/cmake-${CMAKE_API}/Modules/CMakePlatformId.h.in
share/cmake-${CMAKE_API}/Modules/CMakePrintHelpers.cmake
share/cmake-${CMAKE_API}/Modules/CMakePrintSystemInformation.cmake
share/cmake-${CMAKE_API}/Modules/CMakePushCheckState.cmake
share/cmake-${CMAKE_API}/Modules/CMakeRCCompiler.cmake.in
share/cmake-${CMAKE_API}/Modules/CMakeRCInformation.cmake
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Modules/CMakeSwiftCompiler.cmake.in
share/cmake-${CMAKE_API}/Modules/CMakeSwiftInformation.cmake
share/cmake-${CMAKE_API}/Modules/CMakeSystem.cmake.in
share/cmake-${CMAKE_API}/Modules/CMakeSystemSpecificInformation.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/CMakeSystemSpecificInitialize.cmake
share/cmake-${CMAKE_API}/Modules/CMakeTestASM-ATTCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeTestASMCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeTestASM_MASMCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeTestASM_NASMCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeTestCCompiler.cmake
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Modules/CMakeTestCSharpCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeTestCUDACompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeTestCXXCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeTestCompilerCommon.cmake
share/cmake-${CMAKE_API}/Modules/CMakeTestFortranCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeTestGNU.c
share/cmake-${CMAKE_API}/Modules/CMakeTestJavaCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeTestRCCompiler.cmake
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Modules/CMakeTestSwiftCompiler.cmake
share/cmake-${CMAKE_API}/Modules/CMakeUnixFindMake.cmake
share/cmake-${CMAKE_API}/Modules/CMakeVerifyManifest.cmake
share/cmake-${CMAKE_API}/Modules/CPack.DS_Store.in
share/cmake-${CMAKE_API}/Modules/CPack.Description.plist.in
share/cmake-${CMAKE_API}/Modules/CPack.Info.plist.in
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Modules/CPack.NuGet.nuspec.in
share/cmake-${CMAKE_API}/Modules/CPack.OSXScriptLauncher.in
Update to 2.6.4. Upstream changelog: Changes in CMake 2.6.4 RC 6 - Use $ var in CPack.cmake, and not @var@ - Add more missing OSXX11 CPack files Changes in CMake 2.6.4 RC 5 - Add missing file for OSXX11 CPack generator - cmake-gui fix path length in the binary directory's combo box Changes in CMake 2.6.4 RC 4 - Better document Verbatim in custom commands - Fix #8843 ctest system information was not always correct on linux - Fix transitive linking of imported libraries Changes in CMake 2.6.4 RC 3 - Documentation fix for #8815 - Fix CDash only submit with ctest_submit - various fixes for FindQt4.cmake - cmake-gui block checkable flag for item during configure/generate. - put qt version in about for cmake-gui Changes in CMake 2.6.4 RC 2 - Fix issues in FindBoost #8576 #8734 - Fix -D issues with VS 6 - Fix scope issue with CMAKE_CURRENT_LIST_FILE and macros - Eclipse make VERBOSE off in makfiles #7585, and use built-in includes - Codeblocks auto header finding - Fix crash in include_directories #8704 - Some documentation fixes to commands and classes. - Do not warn if LIBPATH is not set for nmake Changes in CMake 2.6.4 RC 1 - Add some better documentation about RPATH variables - No longer mark header files as HEADER_FILE_ONLY automatically, this gets rid of the ugly red marks in Visual Stuido - Fix man-page preformatted text paragraphing - Teach file(REMOVE) how to use relative paths - Gracefully handle broken version symlinks - Fix ASM source file extension default list - Pass shared library export symbol in DEFINES - Enforce unique binary directories - Fix cmake-mode.el indentation cursor motion - Simplify reverse cmLocalGenerator::Convert - More robust decision to suppress implicit include dirs - Fix Fortran implicit dependency include path (and test it) - Clarify docs of old *_OUTPUT_PATH vars - Fix svn update logic for modified files - Add get_filename_component(... REALPATH) - Work around broken GetLongPathName case
2009-05-11 10:02:09 +02:00
share/cmake-${CMAKE_API}/Modules/CPack.OSXScriptLauncher.rsrc.in
share/cmake-${CMAKE_API}/Modules/CPack.OSXX11.Info.plist.in
share/cmake-${CMAKE_API}/Modules/CPack.OSXX11.main.scpt.in
share/cmake-${CMAKE_API}/Modules/CPack.RuntimeScript.in
share/cmake-${CMAKE_API}/Modules/CPack.STGZ_Header.sh.in
share/cmake-${CMAKE_API}/Modules/CPack.VolumeIcon.icns.in
share/cmake-${CMAKE_API}/Modules/CPack.background.png.in
share/cmake-${CMAKE_API}/Modules/CPack.cmake
share/cmake-${CMAKE_API}/Modules/CPack.distribution.dist.in
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Modules/CPackArchive.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/CPackBundle.cmake
share/cmake-${CMAKE_API}/Modules/CPackComponent.cmake
share/cmake-${CMAKE_API}/Modules/CPackCygwin.cmake
share/cmake-${CMAKE_API}/Modules/CPackDMG.cmake
share/cmake-${CMAKE_API}/Modules/CPackDeb.cmake
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Modules/CPackFreeBSD.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/CPackIFW.cmake
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Modules/CPackIFWConfigureFile.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/CPackNSIS.cmake
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Modules/CPackNuGet.cmake
share/cmake-${CMAKE_API}/Modules/CPackPackageMaker.cmake
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/CPackProductBuild.cmake
share/cmake-${CMAKE_API}/Modules/CPackRPM.cmake
share/cmake-${CMAKE_API}/Modules/CPackWIX.cmake
share/cmake-${CMAKE_API}/Modules/CPackZIP.cmake
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Modules/CSharpUtilities.cmake
share/cmake-${CMAKE_API}/Modules/CTest.cmake
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Modules/CTestCoverageCollectGCOV.cmake
share/cmake-${CMAKE_API}/Modules/CTestScriptMode.cmake
share/cmake-${CMAKE_API}/Modules/CTestTargets.cmake
share/cmake-${CMAKE_API}/Modules/CTestUseLaunchers.cmake
share/cmake-${CMAKE_API}/Modules/CheckCCompilerFlag.cmake
share/cmake-${CMAKE_API}/Modules/CheckCSourceCompiles.cmake
share/cmake-${CMAKE_API}/Modules/CheckCSourceRuns.cmake
share/cmake-${CMAKE_API}/Modules/CheckCXXCompilerFlag.cmake
share/cmake-${CMAKE_API}/Modules/CheckCXXSourceCompiles.cmake
share/cmake-${CMAKE_API}/Modules/CheckCXXSourceRuns.cmake
share/cmake-${CMAKE_API}/Modules/CheckCXXSymbolExists.cmake
share/cmake-${CMAKE_API}/Modules/CheckForPthreads.c
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Modules/CheckFortranCompilerFlag.cmake
share/cmake-${CMAKE_API}/Modules/CheckFortranFunctionExists.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/CheckFortranSourceCompiles.cmake
share/cmake-${CMAKE_API}/Modules/CheckFunctionExists.c
share/cmake-${CMAKE_API}/Modules/CheckFunctionExists.cmake
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Modules/CheckIPOSupported.cmake
share/cmake-${CMAKE_API}/Modules/CheckIPOSupported/CMakeLists-C.txt.in
share/cmake-${CMAKE_API}/Modules/CheckIPOSupported/CMakeLists-CXX.txt.in
share/cmake-${CMAKE_API}/Modules/CheckIPOSupported/CMakeLists-Fortran.txt.in
share/cmake-${CMAKE_API}/Modules/CheckIPOSupported/foo.c
share/cmake-${CMAKE_API}/Modules/CheckIPOSupported/foo.cpp
share/cmake-${CMAKE_API}/Modules/CheckIPOSupported/foo.f
share/cmake-${CMAKE_API}/Modules/CheckIPOSupported/main.c
share/cmake-${CMAKE_API}/Modules/CheckIPOSupported/main.cpp
share/cmake-${CMAKE_API}/Modules/CheckIPOSupported/main.f
share/cmake-${CMAKE_API}/Modules/CheckIncludeFile.c.in
share/cmake-${CMAKE_API}/Modules/CheckIncludeFile.cmake
share/cmake-${CMAKE_API}/Modules/CheckIncludeFile.cxx.in
share/cmake-${CMAKE_API}/Modules/CheckIncludeFileCXX.cmake
share/cmake-${CMAKE_API}/Modules/CheckIncludeFiles.cmake
share/cmake-${CMAKE_API}/Modules/CheckLanguage.cmake
share/cmake-${CMAKE_API}/Modules/CheckLibraryExists.cmake
share/cmake-${CMAKE_API}/Modules/CheckLibraryExists.lists.in
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/CheckPrototypeDefinition.c.in
share/cmake-${CMAKE_API}/Modules/CheckPrototypeDefinition.cmake
share/cmake-${CMAKE_API}/Modules/CheckSizeOf.cmake
share/cmake-${CMAKE_API}/Modules/CheckStructHasMember.cmake
share/cmake-${CMAKE_API}/Modules/CheckSymbolExists.cmake
share/cmake-${CMAKE_API}/Modules/CheckTypeSize.c.in
share/cmake-${CMAKE_API}/Modules/CheckTypeSize.cmake
share/cmake-${CMAKE_API}/Modules/CheckTypeSizeMap.cmake.in
share/cmake-${CMAKE_API}/Modules/CheckVariableExists.c
share/cmake-${CMAKE_API}/Modules/CheckVariableExists.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/ADSP-DetermineCompiler.cmake
Changes 3.5.0: The cmake-gui(1) gained options to control warnings about deprecated functionality. The cmake-gui(1) learned an option to set the toolset to be used with VS IDE and Xcode generators, much like the existing -T option to cmake(1). The cmake-gui(1) gained a Regular Expression Explorer which may be used to create and evaluate regular expressions in real-time. The explorer window is available via the Tools menu. The -Wdev and -Wno-dev cmake(1) options now also enable and suppress the deprecated warnings output by default. The suppression of developer warnings as errors can now be controlled with the new -Werror=dev and -Wno-error=dev cmake(1) options. The cmake(1) -E command-line tools copy, copy_if_different, copy_directory, and make_directory learned to support multiple input files or directories. The cmake_parse_arguments() command is now implemented natively. The CMakeParseArguments module remains as an empty placeholder for compatibility. The install(DIRECTORY) command learned to support generator expressions in the list of directories. The CMAKE_ERROR_DEPRECATED variable can now be set using the -Werror=deprecated and -Wno-error=deprecated cmake(1) options. The CMAKE_WARN_DEPRECATED variable can now be set using the -Wdeprecated and -Wno-deprecated cmake(1) options. The VS_GLOBAL_<variable> target property is now implemented for VS 2010 and above. Previously it worked only in VS 2008 and below. The ExternalProject module learned a new GIT_REMOTE_NAME option to control the git clone --origin value. The FindBoost module now provides imported targets such as Boost::boost and Boost::filesystem. The FindFLEX module FLEX_TARGET macro learned a new DEFINES_FILE option to specify a custom output header to be generated. The FindGTest module now provides imported targets. The FindGTK2 module, when GTK2_USE_IMPORTED_TARGETS is enabled, now sets GTK2_LIBRARIES to contain the list of imported targets instead of the paths to the libraries. Moreover it now sets a new GTK2_TARGETS variable containing all the targets imported. The FindOpenMP module learned to support Clang. The FindOpenSSL module gained a new OPENSSL_MSVC_STATIC_RT option to search for libraries using the MSVC static runtime. The FindPNG module now provides imported targets. The FindTIFF module now provides imported targets. A FindXalanC module was introduced to find the Apache Xalan-C++ XSL transform processing library. The FindXercesC module now provides imported targets.
2016-03-14 11:49:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/ARMCC-ASM.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/ARMCC-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/ARMCC-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/ARMCC-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/ARMCC.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/Absoft-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/AppleClang-ASM.cmake
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/AppleClang-C-FeatureTests.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/AppleClang-C.cmake
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/AppleClang-CXX.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/AppleClang-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Borland-DetermineCompiler.cmake
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/Bruce-C-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Bruce-C.cmake
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/CCur-Fortran.cmake
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/CMakeCommonCompilerMacros.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Clang-ASM.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/Clang-C-FeatureTests.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Clang-C.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/Clang-CXX-FeatureTests.cmake
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/Clang-CXX-TestableFeatures.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Clang-CXX.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/Clang-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Clang-DetermineCompilerInternal.cmake
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/Clang-FindBinUtils.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Clang.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Compaq-C-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Cray-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Cray-CXX.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/Cray-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Cray-Fortran.cmake
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/Cray.cmake
Changes 3.5.0: The cmake-gui(1) gained options to control warnings about deprecated functionality. The cmake-gui(1) learned an option to set the toolset to be used with VS IDE and Xcode generators, much like the existing -T option to cmake(1). The cmake-gui(1) gained a Regular Expression Explorer which may be used to create and evaluate regular expressions in real-time. The explorer window is available via the Tools menu. The -Wdev and -Wno-dev cmake(1) options now also enable and suppress the deprecated warnings output by default. The suppression of developer warnings as errors can now be controlled with the new -Werror=dev and -Wno-error=dev cmake(1) options. The cmake(1) -E command-line tools copy, copy_if_different, copy_directory, and make_directory learned to support multiple input files or directories. The cmake_parse_arguments() command is now implemented natively. The CMakeParseArguments module remains as an empty placeholder for compatibility. The install(DIRECTORY) command learned to support generator expressions in the list of directories. The CMAKE_ERROR_DEPRECATED variable can now be set using the -Werror=deprecated and -Wno-error=deprecated cmake(1) options. The CMAKE_WARN_DEPRECATED variable can now be set using the -Wdeprecated and -Wno-deprecated cmake(1) options. The VS_GLOBAL_<variable> target property is now implemented for VS 2010 and above. Previously it worked only in VS 2008 and below. The ExternalProject module learned a new GIT_REMOTE_NAME option to control the git clone --origin value. The FindBoost module now provides imported targets such as Boost::boost and Boost::filesystem. The FindFLEX module FLEX_TARGET macro learned a new DEFINES_FILE option to specify a custom output header to be generated. The FindGTest module now provides imported targets. The FindGTK2 module, when GTK2_USE_IMPORTED_TARGETS is enabled, now sets GTK2_LIBRARIES to contain the list of imported targets instead of the paths to the libraries. Moreover it now sets a new GTK2_TARGETS variable containing all the targets imported. The FindOpenMP module learned to support Clang. The FindOpenSSL module gained a new OPENSSL_MSVC_STATIC_RT option to search for libraries using the MSVC static runtime. The FindPNG module now provides imported targets. The FindTIFF module now provides imported targets. A FindXalanC module was introduced to find the Apache Xalan-C++ XSL transform processing library. The FindXercesC module now provides imported targets.
2016-03-14 11:49:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-Cray-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-Cray-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-Cray-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-GNU-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-GNU-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-GNU-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-Intel-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-Intel-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-Intel-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-PGI-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-PGI-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv-PGI-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/CrayPrgEnv.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/Embarcadero-DetermineCompiler.cmake
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/Flang-FindBinUtils.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Flang-Fortran.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/Fujitsu-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/G95-Fortran.cmake
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/GHS-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/GHS-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/GHS-DetermineCompiler.cmake
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/GHS.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-ASM.cmake
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-C-DetermineCompiler.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-C-FeatureTests.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-C.cmake
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-CXX-FeatureTests.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-CXX.cmake
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-FindBinUtils.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/GNU.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/HP-ASM.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/HP-C-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/HP-C.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/HP-CXX-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/HP-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/HP-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/IAR-ASM.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/IAR-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/IAR-CXX.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/IAR-DetermineCompiler.cmake
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/IAR-FindBinUtils.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/IAR.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/Intel-ASM.cmake
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/Intel-C-FeatureTests.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Intel-C.cmake
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/Intel-CXX-FeatureTests.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Intel-CXX.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/Intel-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/Intel-Fortran.cmake
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/Intel.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/MIPSpro-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/MIPSpro-CXX.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/MIPSpro-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/MIPSpro-Fortran.cmake
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/MSVC-ASM.cmake
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/MSVC-C-FeatureTests.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/MSVC-C.cmake
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/MSVC-CXX-FeatureTests.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/MSVC-CXX.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/MSVC-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/NAG-Fortran.cmake
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/NVIDIA-CUDA.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/NVIDIA-DetermineCompiler.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/PGI-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/PGI-CXX.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/PGI-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/PGI-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/PGI.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/PathScale-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/PathScale-CXX.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/PathScale-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/PathScale-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/PathScale.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/QCC-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/QCC-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/QCC.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/SCO-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/SCO-CXX.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/SCO-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/SCO.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/SDCC-C-DetermineCompiler.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro-ASM.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro-C-DetermineCompiler.cmake
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro-C-FeatureTests.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro-C.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro-CXX-FeatureTests.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro-Fortran.cmake
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/TI-ASM.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/TI-C.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/TI-CXX.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/TI-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/TinyCC-C.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/VisualAge-C.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/VisualAge-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/VisualAge-Fortran.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/Watcom-DetermineCompiler.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/XL-ASM.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/XL-C-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/XL-C.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/XL-CXX-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/XL-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/XL-Fortran.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/Compiler/XL.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Compiler/zOS-C-DetermineCompiler.cmake
share/cmake-${CMAKE_API}/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Modules/CompilerId/VS-10.csproj.in
share/cmake-${CMAKE_API}/Modules/CompilerId/VS-10.vcxproj.in
share/cmake-${CMAKE_API}/Modules/CompilerId/VS-7.vcproj.in
share/cmake-${CMAKE_API}/Modules/CompilerId/VS-Intel.vfproj.in
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/CompilerId/VS-NsightTegra.vcxproj.in
share/cmake-${CMAKE_API}/Modules/CompilerId/Xcode-3.pbxproj.in
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Modules/CompilerId/main.swift.in
share/cmake-${CMAKE_API}/Modules/Dart.cmake
share/cmake-${CMAKE_API}/Modules/DartConfiguration.tcl.in
share/cmake-${CMAKE_API}/Modules/DeployQt4.cmake
share/cmake-${CMAKE_API}/Modules/Documentation.cmake
share/cmake-${CMAKE_API}/Modules/DummyCXXFile.cxx
share/cmake-${CMAKE_API}/Modules/ExternalData.cmake
share/cmake-${CMAKE_API}/Modules/ExternalData_config.cmake.in
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Modules/ExternalProject-download.cmake.in
share/cmake-${CMAKE_API}/Modules/ExternalProject-verify.cmake.in
share/cmake-${CMAKE_API}/Modules/ExternalProject.cmake
share/cmake-${CMAKE_API}/Modules/FLTKCompatibility.cmake
share/cmake-${CMAKE_API}/Modules/FeatureSummary.cmake
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Modules/FetchContent.cmake
share/cmake-${CMAKE_API}/Modules/FetchContent/CMakeLists.cmake.in
share/cmake-${CMAKE_API}/Modules/FindALSA.cmake
share/cmake-${CMAKE_API}/Modules/FindASPELL.cmake
share/cmake-${CMAKE_API}/Modules/FindAVIFile.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/FindArmadillo.cmake
share/cmake-${CMAKE_API}/Modules/FindBISON.cmake
share/cmake-${CMAKE_API}/Modules/FindBLAS.cmake
share/cmake-${CMAKE_API}/Modules/FindBZip2.cmake
share/cmake-${CMAKE_API}/Modules/FindBacktrace.cmake
share/cmake-${CMAKE_API}/Modules/FindBoost.cmake
share/cmake-${CMAKE_API}/Modules/FindBullet.cmake
share/cmake-${CMAKE_API}/Modules/FindCABLE.cmake
share/cmake-${CMAKE_API}/Modules/FindCUDA.cmake
share/cmake-${CMAKE_API}/Modules/FindCUDA/make2cmake.cmake
share/cmake-${CMAKE_API}/Modules/FindCUDA/parse_cubin.cmake
share/cmake-${CMAKE_API}/Modules/FindCUDA/run_nvcc.cmake
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/FindCUDA/select_compute_arch.cmake
share/cmake-${CMAKE_API}/Modules/FindCURL.cmake
share/cmake-${CMAKE_API}/Modules/FindCVS.cmake
share/cmake-${CMAKE_API}/Modules/FindCoin3D.cmake
share/cmake-${CMAKE_API}/Modules/FindCups.cmake
share/cmake-${CMAKE_API}/Modules/FindCurses.cmake
share/cmake-${CMAKE_API}/Modules/FindCxxTest.cmake
share/cmake-${CMAKE_API}/Modules/FindCygwin.cmake
share/cmake-${CMAKE_API}/Modules/FindDCMTK.cmake
share/cmake-${CMAKE_API}/Modules/FindDart.cmake
share/cmake-${CMAKE_API}/Modules/FindDevIL.cmake
share/cmake-${CMAKE_API}/Modules/FindDoxygen.cmake
share/cmake-${CMAKE_API}/Modules/FindEXPAT.cmake
share/cmake-${CMAKE_API}/Modules/FindFLEX.cmake
share/cmake-${CMAKE_API}/Modules/FindFLTK.cmake
share/cmake-${CMAKE_API}/Modules/FindFLTK2.cmake
share/cmake-${CMAKE_API}/Modules/FindFreetype.cmake
share/cmake-${CMAKE_API}/Modules/FindGCCXML.cmake
share/cmake-${CMAKE_API}/Modules/FindGDAL.cmake
share/cmake-${CMAKE_API}/Modules/FindGIF.cmake
share/cmake-${CMAKE_API}/Modules/FindGLEW.cmake
share/cmake-${CMAKE_API}/Modules/FindGLU.cmake
share/cmake-${CMAKE_API}/Modules/FindGLUT.cmake
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Modules/FindGSL.cmake
share/cmake-${CMAKE_API}/Modules/FindGTK.cmake
share/cmake-${CMAKE_API}/Modules/FindGTK2.cmake
share/cmake-${CMAKE_API}/Modules/FindGTest.cmake
share/cmake-${CMAKE_API}/Modules/FindGettext.cmake
share/cmake-${CMAKE_API}/Modules/FindGit.cmake
share/cmake-${CMAKE_API}/Modules/FindGnuTLS.cmake
share/cmake-${CMAKE_API}/Modules/FindGnuplot.cmake
share/cmake-${CMAKE_API}/Modules/FindHDF5.cmake
share/cmake-${CMAKE_API}/Modules/FindHSPELL.cmake
share/cmake-${CMAKE_API}/Modules/FindHTMLHelp.cmake
share/cmake-${CMAKE_API}/Modules/FindHg.cmake
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/FindICU.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/FindIce.cmake
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Modules/FindIconv.cmake
share/cmake-${CMAKE_API}/Modules/FindIcotool.cmake
share/cmake-${CMAKE_API}/Modules/FindImageMagick.cmake
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
share/cmake-${CMAKE_API}/Modules/FindIntl.cmake
share/cmake-${CMAKE_API}/Modules/FindJNI.cmake
share/cmake-${CMAKE_API}/Modules/FindJPEG.cmake
share/cmake-${CMAKE_API}/Modules/FindJasper.cmake
share/cmake-${CMAKE_API}/Modules/FindJava.cmake
share/cmake-${CMAKE_API}/Modules/FindKDE3.cmake
share/cmake-${CMAKE_API}/Modules/FindKDE4.cmake
share/cmake-${CMAKE_API}/Modules/FindLAPACK.cmake
share/cmake-${CMAKE_API}/Modules/FindLATEX.cmake
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Modules/FindLTTngUST.cmake
share/cmake-${CMAKE_API}/Modules/FindLibArchive.cmake
share/cmake-${CMAKE_API}/Modules/FindLibLZMA.cmake
share/cmake-${CMAKE_API}/Modules/FindLibXml2.cmake
share/cmake-${CMAKE_API}/Modules/FindLibXslt.cmake
share/cmake-${CMAKE_API}/Modules/FindLua.cmake
share/cmake-${CMAKE_API}/Modules/FindLua50.cmake
share/cmake-${CMAKE_API}/Modules/FindLua51.cmake
share/cmake-${CMAKE_API}/Modules/FindMFC.cmake
share/cmake-${CMAKE_API}/Modules/FindMPEG.cmake
share/cmake-${CMAKE_API}/Modules/FindMPEG2.cmake
share/cmake-${CMAKE_API}/Modules/FindMPI.cmake
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Modules/FindMPI/fortranparam_mpi.f90.in
share/cmake-${CMAKE_API}/Modules/FindMPI/libver_mpi.c
share/cmake-${CMAKE_API}/Modules/FindMPI/libver_mpi.f90.in
share/cmake-${CMAKE_API}/Modules/FindMPI/mpiver.f90.in
share/cmake-${CMAKE_API}/Modules/FindMPI/test_mpi.c
share/cmake-${CMAKE_API}/Modules/FindMPI/test_mpi.f90.in
share/cmake-${CMAKE_API}/Modules/FindMatlab.cmake
share/cmake-${CMAKE_API}/Modules/FindMotif.cmake
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Modules/FindODBC.cmake
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Modules/FindOpenACC.cmake
share/cmake-${CMAKE_API}/Modules/FindOpenAL.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/FindOpenCL.cmake
share/cmake-${CMAKE_API}/Modules/FindOpenGL.cmake
share/cmake-${CMAKE_API}/Modules/FindOpenMP.cmake
share/cmake-${CMAKE_API}/Modules/FindOpenSSL.cmake
share/cmake-${CMAKE_API}/Modules/FindOpenSceneGraph.cmake
share/cmake-${CMAKE_API}/Modules/FindOpenThreads.cmake
share/cmake-${CMAKE_API}/Modules/FindPHP4.cmake
share/cmake-${CMAKE_API}/Modules/FindPNG.cmake
share/cmake-${CMAKE_API}/Modules/FindPackageHandleStandardArgs.cmake
share/cmake-${CMAKE_API}/Modules/FindPackageMessage.cmake
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Modules/FindPatch.cmake
share/cmake-${CMAKE_API}/Modules/FindPerl.cmake
share/cmake-${CMAKE_API}/Modules/FindPerlLibs.cmake
share/cmake-${CMAKE_API}/Modules/FindPhysFS.cmake
share/cmake-${CMAKE_API}/Modules/FindPike.cmake
share/cmake-${CMAKE_API}/Modules/FindPkgConfig.cmake
share/cmake-${CMAKE_API}/Modules/FindPostgreSQL.cmake
share/cmake-${CMAKE_API}/Modules/FindProducer.cmake
share/cmake-${CMAKE_API}/Modules/FindProtobuf.cmake
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Modules/FindPython.cmake
share/cmake-${CMAKE_API}/Modules/FindPython/Support.cmake
share/cmake-${CMAKE_API}/Modules/FindPython2.cmake
share/cmake-${CMAKE_API}/Modules/FindPython3.cmake
share/cmake-${CMAKE_API}/Modules/FindPythonInterp.cmake
share/cmake-${CMAKE_API}/Modules/FindPythonLibs.cmake
share/cmake-${CMAKE_API}/Modules/FindQt.cmake
share/cmake-${CMAKE_API}/Modules/FindQt3.cmake
share/cmake-${CMAKE_API}/Modules/FindQt4.cmake
share/cmake-${CMAKE_API}/Modules/FindQuickTime.cmake
share/cmake-${CMAKE_API}/Modules/FindRTI.cmake
share/cmake-${CMAKE_API}/Modules/FindRuby.cmake
share/cmake-${CMAKE_API}/Modules/FindSDL.cmake
share/cmake-${CMAKE_API}/Modules/FindSDL_image.cmake
share/cmake-${CMAKE_API}/Modules/FindSDL_mixer.cmake
share/cmake-${CMAKE_API}/Modules/FindSDL_net.cmake
share/cmake-${CMAKE_API}/Modules/FindSDL_sound.cmake
share/cmake-${CMAKE_API}/Modules/FindSDL_ttf.cmake
share/cmake-${CMAKE_API}/Modules/FindSWIG.cmake
share/cmake-${CMAKE_API}/Modules/FindSelfPackers.cmake
share/cmake-${CMAKE_API}/Modules/FindSquish.cmake
share/cmake-${CMAKE_API}/Modules/FindSubversion.cmake
share/cmake-${CMAKE_API}/Modules/FindTCL.cmake
share/cmake-${CMAKE_API}/Modules/FindTIFF.cmake
share/cmake-${CMAKE_API}/Modules/FindTclStub.cmake
share/cmake-${CMAKE_API}/Modules/FindTclsh.cmake
share/cmake-${CMAKE_API}/Modules/FindThreads.cmake
share/cmake-${CMAKE_API}/Modules/FindUnixCommands.cmake
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/FindVulkan.cmake
share/cmake-${CMAKE_API}/Modules/FindWget.cmake
share/cmake-${CMAKE_API}/Modules/FindWish.cmake
share/cmake-${CMAKE_API}/Modules/FindX11.cmake
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Modules/FindXCTest.cmake
share/cmake-${CMAKE_API}/Modules/FindXMLRPC.cmake
Changes 3.5.0: The cmake-gui(1) gained options to control warnings about deprecated functionality. The cmake-gui(1) learned an option to set the toolset to be used with VS IDE and Xcode generators, much like the existing -T option to cmake(1). The cmake-gui(1) gained a Regular Expression Explorer which may be used to create and evaluate regular expressions in real-time. The explorer window is available via the Tools menu. The -Wdev and -Wno-dev cmake(1) options now also enable and suppress the deprecated warnings output by default. The suppression of developer warnings as errors can now be controlled with the new -Werror=dev and -Wno-error=dev cmake(1) options. The cmake(1) -E command-line tools copy, copy_if_different, copy_directory, and make_directory learned to support multiple input files or directories. The cmake_parse_arguments() command is now implemented natively. The CMakeParseArguments module remains as an empty placeholder for compatibility. The install(DIRECTORY) command learned to support generator expressions in the list of directories. The CMAKE_ERROR_DEPRECATED variable can now be set using the -Werror=deprecated and -Wno-error=deprecated cmake(1) options. The CMAKE_WARN_DEPRECATED variable can now be set using the -Wdeprecated and -Wno-deprecated cmake(1) options. The VS_GLOBAL_<variable> target property is now implemented for VS 2010 and above. Previously it worked only in VS 2008 and below. The ExternalProject module learned a new GIT_REMOTE_NAME option to control the git clone --origin value. The FindBoost module now provides imported targets such as Boost::boost and Boost::filesystem. The FindFLEX module FLEX_TARGET macro learned a new DEFINES_FILE option to specify a custom output header to be generated. The FindGTest module now provides imported targets. The FindGTK2 module, when GTK2_USE_IMPORTED_TARGETS is enabled, now sets GTK2_LIBRARIES to contain the list of imported targets instead of the paths to the libraries. Moreover it now sets a new GTK2_TARGETS variable containing all the targets imported. The FindOpenMP module learned to support Clang. The FindOpenSSL module gained a new OPENSSL_MSVC_STATIC_RT option to search for libraries using the MSVC static runtime. The FindPNG module now provides imported targets. The FindTIFF module now provides imported targets. A FindXalanC module was introduced to find the Apache Xalan-C++ XSL transform processing library. The FindXercesC module now provides imported targets.
2016-03-14 11:49:55 +01:00
share/cmake-${CMAKE_API}/Modules/FindXalanC.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/FindXercesC.cmake
share/cmake-${CMAKE_API}/Modules/FindZLIB.cmake
share/cmake-${CMAKE_API}/Modules/Findosg.cmake
share/cmake-${CMAKE_API}/Modules/FindosgAnimation.cmake
share/cmake-${CMAKE_API}/Modules/FindosgDB.cmake
share/cmake-${CMAKE_API}/Modules/FindosgFX.cmake
share/cmake-${CMAKE_API}/Modules/FindosgGA.cmake
share/cmake-${CMAKE_API}/Modules/FindosgIntrospection.cmake
share/cmake-${CMAKE_API}/Modules/FindosgManipulator.cmake
share/cmake-${CMAKE_API}/Modules/FindosgParticle.cmake
share/cmake-${CMAKE_API}/Modules/FindosgPresentation.cmake
share/cmake-${CMAKE_API}/Modules/FindosgProducer.cmake
share/cmake-${CMAKE_API}/Modules/FindosgQt.cmake
share/cmake-${CMAKE_API}/Modules/FindosgShadow.cmake
share/cmake-${CMAKE_API}/Modules/FindosgSim.cmake
share/cmake-${CMAKE_API}/Modules/FindosgTerrain.cmake
share/cmake-${CMAKE_API}/Modules/FindosgText.cmake
share/cmake-${CMAKE_API}/Modules/FindosgUtil.cmake
share/cmake-${CMAKE_API}/Modules/FindosgViewer.cmake
share/cmake-${CMAKE_API}/Modules/FindosgVolume.cmake
share/cmake-${CMAKE_API}/Modules/FindosgWidget.cmake
share/cmake-${CMAKE_API}/Modules/Findosg_functions.cmake
share/cmake-${CMAKE_API}/Modules/FindwxWidgets.cmake
share/cmake-${CMAKE_API}/Modules/FindwxWindows.cmake
share/cmake-${CMAKE_API}/Modules/FortranCInterface.cmake
share/cmake-${CMAKE_API}/Modules/FortranCInterface/CMakeLists.txt
share/cmake-${CMAKE_API}/Modules/FortranCInterface/Detect.cmake
share/cmake-${CMAKE_API}/Modules/FortranCInterface/Input.cmake.in
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Modules/FortranCInterface/MYMODULE.c
share/cmake-${CMAKE_API}/Modules/FortranCInterface/MY_MODULE.c
share/cmake-${CMAKE_API}/Modules/FortranCInterface/Macro.h.in
share/cmake-${CMAKE_API}/Modules/FortranCInterface/Output.cmake.in
share/cmake-${CMAKE_API}/Modules/FortranCInterface/Verify/CMakeLists.txt
share/cmake-${CMAKE_API}/Modules/FortranCInterface/Verify/VerifyC.c
share/cmake-${CMAKE_API}/Modules/FortranCInterface/Verify/VerifyCXX.cxx
share/cmake-${CMAKE_API}/Modules/FortranCInterface/Verify/VerifyFortran.f
share/cmake-${CMAKE_API}/Modules/FortranCInterface/Verify/main.c
share/cmake-${CMAKE_API}/Modules/FortranCInterface/call_mod.f90
share/cmake-${CMAKE_API}/Modules/FortranCInterface/call_sub.f
share/cmake-${CMAKE_API}/Modules/FortranCInterface/main.F
share/cmake-${CMAKE_API}/Modules/FortranCInterface/my_module.f90
share/cmake-${CMAKE_API}/Modules/FortranCInterface/my_module_.c
share/cmake-${CMAKE_API}/Modules/FortranCInterface/my_sub.f
share/cmake-${CMAKE_API}/Modules/FortranCInterface/mymodule.f90
share/cmake-${CMAKE_API}/Modules/FortranCInterface/mymodule_.c
share/cmake-${CMAKE_API}/Modules/FortranCInterface/mysub.f
share/cmake-${CMAKE_API}/Modules/FortranCInterface/symbol.c.in
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/GNUInstallDirs.cmake
share/cmake-${CMAKE_API}/Modules/GenerateExportHeader.cmake
share/cmake-${CMAKE_API}/Modules/GetPrerequisites.cmake
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Modules/GoogleTest.cmake
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Modules/GoogleTestAddTests.cmake
share/cmake-${CMAKE_API}/Modules/ITKCompatibility.cmake
share/cmake-${CMAKE_API}/Modules/InstallRequiredSystemLibraries.cmake
share/cmake-${CMAKE_API}/Modules/IntelVSImplicitPath/CMakeLists.txt
share/cmake-${CMAKE_API}/Modules/IntelVSImplicitPath/detect.cmake
share/cmake-${CMAKE_API}/Modules/IntelVSImplicitPath/hello.f
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Internal/FeatureTesting.cmake
share/cmake-${CMAKE_API}/Modules/KDE3Macros.cmake
share/cmake-${CMAKE_API}/Modules/MacOSXBundleInfo.plist.in
Update to 2.6.2: Changes in CMake 2.6.2 RC 6 - Fix bug#7669 cpack did not work when sym-linked after install Changes in CMake 2.6.2 RC 5 - Add beta BundleUtilities.cmake file - CPackRPM 7435 fixes to add optional post-install - Fix Bug #7456, FindBoost versioned find not working - Fix FindCurses to be able to work without ncurses.h - FindQt4 fix bug #7433, add a bit more documentation and add ability to specify extra flags to lupdate. Changes in CMake 2.6.2 RC 4 - Fix bug #7359 make llvm-gcc work, by explicitely excluding "llvm-" from _CMAKE_TOOLCHAIN_PREFIX - Fix bug 7046: OS X Framework support: extensionless headers were being ignored when specified as public headers - Fix documentation in CheckCCompilerFlag.cmake - Add better version support to find_package command - Fix Xcode debug not working - Add VERSION compare to if command - Make FindThreads sete THREADS_FOUND - Deb cpack generator sets Installed-Size for the package - Do not add an empty /D"" at the end of VS 6 .dsp compile lines - Recognize /MAP in VS 7 and greater - Add new policy CMP0009 - GLOB_RECURSE should not follow symlinks by default Changes in CMake 2.6.2 RC 3 - Fix bug, and remove extra closing > in visual fortran projects. - Fix bug in ctest -C where it was sometimes ignored. - Fix crash with exec_process when cmake is being debugged on windows - Fix unsetting of global properties Changes in CMake 2.6.2 RC 2 - allow tool chains to limit object path length - add info.plist to frameworks - better preservation of user link lines - add a get command for cmake policies - support for imported libraries of unknown type - support link interface in target_link_libraries - Do not hang when select lies - .m compiled with gcc and g++ on mac - Fix issue when application bundle dir is removed cmake needs to re-run automatically - Report an error when configure has one error - Fix bug where -E commands stole command line options - Fix infinite recursion bug with try-compile and change of compilers - Fix delete and backspace in ccmake - Fix coverage not to follow symlinks - Add more possible languages for NSIS in cpack - FindQt4.cmake fix bug #7433, add documentation that directories also can be specified to update the translation files. - Add standard arg handling to FindPHP4.cmake - Add X11R6 to search path for FindOpenGL - update cmake-syntax.vim to have more keywords - BUG: fix #7477, set VERBOSE=1 in the kdevelop setting for the environment, not together with the make executable - UsePkgConfig.cmake - clean up, add a status message in case pkgconfig didn't find the package, sync with kde - FindX11 look in more places - FindTIFF look for more names - FindQt3, make sure qt4 is not found and some style stuff - FindPNG add more names of linpng (sync with the KDE version) - FindKDE3/KDE4 sanity checks on qt versions found - FindLibXMl2 also search for xmllint, which comes with libxml2 (sync with FindLibXml2.cmake from KDE) - Fix sizeof, and other compiler INFO string checks with GNU linker's --gc-sections - Fix bogus dependency on executable targets when a linked library happended to match the name of an executable target - Improve readability of circular depends error - Fix crash on circular target dependencies - find_package now knows about lib64 paths - Fix gentoo elf security issue with RPATH and RUNPATH Changes in CMake 2.6.2 RC 1 - Fix abort in eclipse generator with empty EXECUTABLE_OUTPUT_PATH - Fix FindKDE3.cmake syntax error - Fix custom command output by relative path not always working - Fix bug, Do not convert RPATH entries to full path. - Allow for "$ORIGIN" into the RPATH> - Allow for static libraries with lots of objects using archive append - Fix documentation for FindImageMagick.cmake - Fix link error with MS compiler and comdef - Fix crash when attempting to load the RPATH out of a non-ELF file - Add --trace option to cmake allowing for the tracing of a cmake run - Fix for issue #4971 where the case of the drive letter component of the filenames might be different when analyzing gcov output. - Add warning level W0 to visual studio - Add support for OSX library version flags
2008-11-08 14:20:17 +01:00
share/cmake-${CMAKE_API}/Modules/MacOSXFrameworkInfo.plist.in
share/cmake-${CMAKE_API}/Modules/MacroAddFileDependencies.cmake
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Modules/MatlabTestsRedirect.cmake
share/cmake-${CMAKE_API}/Modules/NSIS.InstallOptions.ini.in
share/cmake-${CMAKE_API}/Modules/NSIS.template.in
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/AIX-Clang-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/AIX-Clang-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/AIX-GNU-ASM.cmake
share/cmake-${CMAKE_API}/Modules/Platform/AIX-GNU-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/AIX-GNU-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/AIX-GNU-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/AIX-GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/AIX-VisualAge-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/AIX-VisualAge-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/AIX-VisualAge-Fortran.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/AIX-XL-ASM.cmake
share/cmake-${CMAKE_API}/Modules/Platform/AIX-XL-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/AIX-XL-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/AIX-XL-Fortran.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/AIX-XL.cmake
share/cmake-${CMAKE_API}/Modules/Platform/AIX.cmake
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/ARTOS-GNU-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/ARTOS.cmake
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/Android-Clang-ASM.cmake
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/Android-Clang-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android-Clang-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android-Clang.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android-Common.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android-Determine-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android-Determine-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android-Determine.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android-GNU-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android-GNU-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android-GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android-Initialize.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/Android.cmake
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/Android/Determine-Compiler-NDK.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/Determine-Compiler-Standalone.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/Determine-Compiler.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-arm64-v8a-Clang.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-arm64-v8a-GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-armeabi-Clang.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-armeabi-GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-armeabi-v6-Clang.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-armeabi-v6-GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-armeabi-v7a-Clang.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-armeabi-v7a-GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-common-Clang.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-common-GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-common.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-mips-Clang.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-mips-GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-mips64-Clang.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-mips64-GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-x86-Clang.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-x86-GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-x86_64-Clang.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/abi-x86_64-GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/ndk-stl-c++.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/ndk-stl-c++_shared.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/ndk-stl-c++_static.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/ndk-stl-gabi++.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/ndk-stl-gabi++_shared.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/ndk-stl-gabi++_static.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/ndk-stl-gnustl.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/ndk-stl-gnustl_shared.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/ndk-stl-gnustl_static.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/ndk-stl-none.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/ndk-stl-stlport.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/ndk-stl-stlport_shared.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/ndk-stl-stlport_static.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Android/ndk-stl-system.cmake
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directory’s contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMake’s command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared library’s namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate list’s elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to list’s elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
2018-07-21 08:52:55 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/Apple-Absoft-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-AppleClang-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-AppleClang-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-Clang-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-Clang-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-Clang.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-GNU-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-GNU-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-GNU-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-Intel-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-Intel-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-Intel-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-Intel.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-NAG-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-NVIDIA-CUDA.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-PGI-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-PGI-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-PGI-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-PGI.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-VisualAge-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-VisualAge-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-XL-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Apple-XL-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BSDOS.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BeOS.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneL.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-base.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-dynamic-GNU-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-dynamic-GNU-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-dynamic-GNU-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-dynamic-XL-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-dynamic.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-static-GNU-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-static-GNU-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-static-GNU-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-static-XL-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-static-XL-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-static-XL-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneP-static.cmake
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-base.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-dynamic-GNU-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-dynamic-GNU-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-dynamic-GNU-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-dynamic-XL-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-dynamic.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-static-GNU-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-static-GNU-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-static-GNU-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-static-XL-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-static-XL-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneQ-static.cmake
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/CYGWIN-Clang-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/CYGWIN-Clang-CXX.cmake
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/CYGWIN-Determine-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/CYGWIN-GNU-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/CYGWIN-GNU-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/CYGWIN-GNU-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/CYGWIN-GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/CYGWIN-windres.cmake
share/cmake-${CMAKE_API}/Modules/Platform/CYGWIN.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Catamount.cmake
Changes 3.5.0: The cmake-gui(1) gained options to control warnings about deprecated functionality. The cmake-gui(1) learned an option to set the toolset to be used with VS IDE and Xcode generators, much like the existing -T option to cmake(1). The cmake-gui(1) gained a Regular Expression Explorer which may be used to create and evaluate regular expressions in real-time. The explorer window is available via the Tools menu. The -Wdev and -Wno-dev cmake(1) options now also enable and suppress the deprecated warnings output by default. The suppression of developer warnings as errors can now be controlled with the new -Werror=dev and -Wno-error=dev cmake(1) options. The cmake(1) -E command-line tools copy, copy_if_different, copy_directory, and make_directory learned to support multiple input files or directories. The cmake_parse_arguments() command is now implemented natively. The CMakeParseArguments module remains as an empty placeholder for compatibility. The install(DIRECTORY) command learned to support generator expressions in the list of directories. The CMAKE_ERROR_DEPRECATED variable can now be set using the -Werror=deprecated and -Wno-error=deprecated cmake(1) options. The CMAKE_WARN_DEPRECATED variable can now be set using the -Wdeprecated and -Wno-deprecated cmake(1) options. The VS_GLOBAL_<variable> target property is now implemented for VS 2010 and above. Previously it worked only in VS 2008 and below. The ExternalProject module learned a new GIT_REMOTE_NAME option to control the git clone --origin value. The FindBoost module now provides imported targets such as Boost::boost and Boost::filesystem. The FindFLEX module FLEX_TARGET macro learned a new DEFINES_FILE option to specify a custom output header to be generated. The FindGTest module now provides imported targets. The FindGTK2 module, when GTK2_USE_IMPORTED_TARGETS is enabled, now sets GTK2_LIBRARIES to contain the list of imported targets instead of the paths to the libraries. Moreover it now sets a new GTK2_TARGETS variable containing all the targets imported. The FindOpenMP module learned to support Clang. The FindOpenSSL module gained a new OPENSSL_MSVC_STATIC_RT option to search for libraries using the MSVC static runtime. The FindPNG module now provides imported targets. The FindTIFF module now provides imported targets. A FindXalanC module was introduced to find the Apache Xalan-C++ XSL transform processing library. The FindXercesC module now provides imported targets.
2016-03-14 11:49:55 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/CrayLinuxEnvironment.cmake
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/Darwin-Determine-CXX.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/Darwin-Initialize.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Darwin.cmake
share/cmake-${CMAKE_API}/Modules/Platform/DragonFly.cmake
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/Euros.cmake
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/FreeBSD-Determine-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/FreeBSD.cmake
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/Fuchsia.cmake
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/GHS-MULTI-Initialize.cmake
share/cmake-${CMAKE_API}/Modules/Platform/GHS-MULTI.cmake
share/cmake-${CMAKE_API}/Modules/Platform/GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/GNUtoMS_lib.bat.in
share/cmake-${CMAKE_API}/Modules/Platform/GNUtoMS_lib.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Generic-ADSP-ASM.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Generic-ADSP-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Generic-ADSP-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Generic-ADSP-Common.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Generic-SDCC-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Generic.cmake
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
2015-07-27 01:10:47 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/HP-UX-GNU-ASM.cmake
share/cmake-${CMAKE_API}/Modules/Platform/HP-UX-GNU-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/HP-UX-GNU-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/HP-UX-GNU-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/HP-UX-GNU.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/HP-UX-HP-ASM.cmake
share/cmake-${CMAKE_API}/Modules/Platform/HP-UX-HP-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/HP-UX-HP-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/HP-UX-HP-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/HP-UX-HP.cmake
share/cmake-${CMAKE_API}/Modules/Platform/HP-UX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Haiku.cmake
share/cmake-${CMAKE_API}/Modules/Platform/IRIX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/IRIX64.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/Linux-Absoft-Fortran.cmake
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/Linux-CCur-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-Clang-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-Clang-CXX.cmake
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/Linux-Determine-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-GNU-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-GNU-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-GNU-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-GNU.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-Intel-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-Intel-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-Intel-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-Intel.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-NAG-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-PGI-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-PGI-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-PGI-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-PGI.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-PathScale-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-PathScale-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-PathScale-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-PathScale.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-SunPro-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-TinyCC-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-VisualAge-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-VisualAge-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-VisualAge-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-XL-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-XL-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-XL-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux-como.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Linux.cmake
share/cmake-${CMAKE_API}/Modules/Platform/MP-RAS.cmake
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id “Flang”. Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The “include_guard()” command was introduced to allow guarding CMake scripts from being included more than once. The command supports “DIRECTORY” and “GLOBAL” options to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. “FindMPI” received a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A “FindOpenACC” module was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The “FindOpenGL” module underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The “GoogleTest” module gained a new command “gtest_discover_tests()” implementing dynamic (build-time) test discovery. When using “AUTOMOC” or “AUTOUIC”, source files that are “GENERATED” will be processed as well. They were ignored by “AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”. A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. “ctest -S”) set it in the “CTestConfig.cmake” config file. CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”, configured by the “CPackFreeBSD” module. The CPack “DEB” generator, configured by the “CPackDeb” module, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The “cmake(1)” “-E” mode gained support for “sha1sum”, “sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”. The “file(GENERATE)” command now interprets relative paths given to its “OUTPUT” and “INPUT” arguments with respect to the caller’s current binary and source directories, respectively. See policy “CMP0070”.
2017-11-30 16:41:17 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/Midipix.cmake
share/cmake-${CMAKE_API}/Modules/Platform/MirBSD.cmake
share/cmake-${CMAKE_API}/Modules/Platform/NetBSD.cmake
share/cmake-${CMAKE_API}/Modules/Platform/OSF1.cmake
share/cmake-${CMAKE_API}/Modules/Platform/OpenBSD.cmake
share/cmake-${CMAKE_API}/Modules/Platform/OpenVMS.cmake
share/cmake-${CMAKE_API}/Modules/Platform/QNX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/RISCos.cmake
share/cmake-${CMAKE_API}/Modules/Platform/SCO_SV.cmake
share/cmake-${CMAKE_API}/Modules/Platform/SINIX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/SunOS-Clang-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/SunOS-Clang-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/SunOS-Clang-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/SunOS-GNU-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/SunOS-GNU-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/SunOS-GNU-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/SunOS-GNU.cmake
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.
2016-07-28 19:44:43 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/SunOS-PathScale-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/SunOS-PathScale-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/SunOS-PathScale-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/SunOS-PathScale.cmake
share/cmake-${CMAKE_API}/Modules/Platform/SunOS.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Tru64.cmake
share/cmake-${CMAKE_API}/Modules/Platform/ULTRIX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/UNIX_SV.cmake
share/cmake-${CMAKE_API}/Modules/Platform/UnixPaths.cmake
share/cmake-${CMAKE_API}/Modules/Platform/UnixWare.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Borland-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Borland-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Clang-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Clang-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Clang.cmake
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Determine-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Embarcadero-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Embarcadero-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Embarcadero.cmake
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
2018-04-02 21:36:44 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Flang-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-G95-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-GNU-C-ABI.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-GNU-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-GNU-CXX-ABI.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-GNU-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-GNU-Fortran-ABI.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-GNU-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-GNU.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Intel-ASM.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Intel-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Intel-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Intel-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Intel.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-MSVC-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-MSVC-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-MSVC.cmake
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild “targets” files to be imported into generated project files. ...more...
2017-04-11 22:18:54 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/Windows-NVIDIA-CUDA.cmake
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/Windows-OpenWatcom-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-OpenWatcom-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-OpenWatcom.cmake
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Modules/Platform/Windows-PGI-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-PGI-Fortran.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-PGI.cmake
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Watcom-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Watcom-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-df.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows-windres.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Windows.cmake
share/cmake-${CMAKE_API}/Modules/Platform/WindowsCE-MSVC-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/WindowsCE-MSVC-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/WindowsCE.cmake
share/cmake-${CMAKE_API}/Modules/Platform/WindowsPaths.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/Platform/WindowsPhone-MSVC-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/WindowsPhone-MSVC-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/WindowsPhone.cmake
share/cmake-${CMAKE_API}/Modules/Platform/WindowsStore-MSVC-C.cmake
share/cmake-${CMAKE_API}/Modules/Platform/WindowsStore-MSVC-CXX.cmake
share/cmake-${CMAKE_API}/Modules/Platform/WindowsStore.cmake
share/cmake-${CMAKE_API}/Modules/Platform/Xenix.cmake
share/cmake-${CMAKE_API}/Modules/Platform/eCos.cmake
share/cmake-${CMAKE_API}/Modules/Platform/gas.cmake
share/cmake-${CMAKE_API}/Modules/Platform/kFreeBSD.cmake
share/cmake-${CMAKE_API}/Modules/Platform/syllable.cmake
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
2011-08-01 00:04:03 +02:00
share/cmake-${CMAKE_API}/Modules/ProcessorCount.cmake
share/cmake-${CMAKE_API}/Modules/Qt4ConfigDependentSettings.cmake
share/cmake-${CMAKE_API}/Modules/Qt4Macros.cmake
share/cmake-${CMAKE_API}/Modules/RepositoryInfo.txt.in
share/cmake-${CMAKE_API}/Modules/SelectLibraryConfigurations.cmake
share/cmake-${CMAKE_API}/Modules/Squish4RunTestCase.bat
share/cmake-${CMAKE_API}/Modules/Squish4RunTestCase.sh
share/cmake-${CMAKE_API}/Modules/SquishRunTestCase.bat
share/cmake-${CMAKE_API}/Modules/SquishRunTestCase.sh
share/cmake-${CMAKE_API}/Modules/SquishTestScript.cmake
share/cmake-${CMAKE_API}/Modules/SystemInformation.cmake
share/cmake-${CMAKE_API}/Modules/SystemInformation.in
share/cmake-${CMAKE_API}/Modules/TestBigEndian.cmake
share/cmake-${CMAKE_API}/Modules/TestCXXAcceptsFlag.cmake
share/cmake-${CMAKE_API}/Modules/TestEndianess.c.in
share/cmake-${CMAKE_API}/Modules/TestForANSIForScope.cmake
share/cmake-${CMAKE_API}/Modules/TestForANSIStreamHeaders.cmake
share/cmake-${CMAKE_API}/Modules/TestForANSIStreamHeaders.cxx
share/cmake-${CMAKE_API}/Modules/TestForAnsiForScope.cxx
share/cmake-${CMAKE_API}/Modules/TestForSSTREAM.cmake
share/cmake-${CMAKE_API}/Modules/TestForSSTREAM.cxx
share/cmake-${CMAKE_API}/Modules/TestForSTDNamespace.cmake
share/cmake-${CMAKE_API}/Modules/TestForSTDNamespace.cxx
share/cmake-${CMAKE_API}/Modules/UseEcos.cmake
share/cmake-${CMAKE_API}/Modules/UseJava.cmake
share/cmake-${CMAKE_API}/Modules/UseJavaClassFilelist.cmake
share/cmake-${CMAKE_API}/Modules/UseJavaSymlinks.cmake
share/cmake-${CMAKE_API}/Modules/UsePkgConfig.cmake
share/cmake-${CMAKE_API}/Modules/UseQt4.cmake
share/cmake-${CMAKE_API}/Modules/UseSWIG.cmake
share/cmake-${CMAKE_API}/Modules/Use_wxWindows.cmake
share/cmake-${CMAKE_API}/Modules/UsewxWidgets.cmake
share/cmake-${CMAKE_API}/Modules/VTKCompatibility.cmake
share/cmake-${CMAKE_API}/Modules/WIX.template.in
share/cmake-${CMAKE_API}/Modules/WriteBasicConfigVersionFile.cmake
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Modules/WriteCompilerDetectionHeader.cmake
share/cmake-${CMAKE_API}/Modules/ecos_clean.cmake
share/cmake-${CMAKE_API}/Modules/exportheader.cmake.in
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/Modules/javaTargets.cmake.in
share/cmake-${CMAKE_API}/Modules/kde3init_dummy.cpp.in
share/cmake-${CMAKE_API}/Modules/kde3uic.cmake
share/cmake-${CMAKE_API}/Modules/readme.txt
share/cmake-${CMAKE_API}/Templates/AppleInfo.plist
share/cmake-${CMAKE_API}/Templates/CMakeVSMacros1.vsmacros
share/cmake-${CMAKE_API}/Templates/CMakeVSMacros2.vsmacros
share/cmake-${CMAKE_API}/Templates/CPack.GenericDescription.txt
share/cmake-${CMAKE_API}/Templates/CPack.GenericLicense.txt
share/cmake-${CMAKE_API}/Templates/CPack.GenericWelcome.txt
share/cmake-${CMAKE_API}/Templates/CPackConfig.cmake.in
share/cmake-${CMAKE_API}/Templates/CTestScript.cmake.in
3.9.0: * The “Visual Studio 14 2015” generator has been taught about a change to the “v140” toolset made by a VS 2015 update. VS changed the set of values it understands for the “GenerateDebugInformation” linker setting that produces the “-DEBUG” linker flag variants. * “CUDA” is now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the “C++ standards” and “C standards” and their associated meta-features for the following “compiler ids”: “Cray”, “PGI”, and “XL”. * The “add_library()” command “IMPORTED” option learned to support Object Libraries. * All “find_” commands now have a “PACKAGE_ROOT” search path group that is first in the search heuristics. If a “find_” command is called from inside a find module, then the CMake variable and environment variable named “_ROOT” are used as prefixes and are the first set of paths to be searched. * The “install(TARGETS)” command learned a new “OBJECTS” option to specify where to install Object Libraries. * The “install(EXPORT)” command learned how to export Object Libraries. * A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding “CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control whether to use the “INSTALL_NAME_DIR” target property value for binaries in the build tree. This is for macOS “install_name” as “BUILD_WITH_INSTALL_RPATH” is for “RPATH”. * A “CUDA_PTX_COMPILATION” target property was added to Object Libraries to support compiling to “.ptx” files instead of host object files. * A new “GoogleTest” module was added to provide the “gtest_add_tests()” function independently of the “FindGTest” module. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The “Ninja” generator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the object’s target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targets’ dependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the “INTERPROCEDURAL_OPTIMIZATION” target property and “CheckIPOSupported” module. * The “TARGET_OBJECTS” “generator expression” is now supported by the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 19:44:34 +02:00
share/cmake-${CMAKE_API}/Templates/MSBuild/nasm.props.in
share/cmake-${CMAKE_API}/Templates/MSBuild/nasm.targets
share/cmake-${CMAKE_API}/Templates/MSBuild/nasm.xml
share/cmake-${CMAKE_API}/Templates/TestDriver.cxx.in
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Templates/Windows/ApplicationIcon.png
share/cmake-${CMAKE_API}/Templates/Windows/Logo.png
share/cmake-${CMAKE_API}/Templates/Windows/SmallLogo.png
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
share/cmake-${CMAKE_API}/Templates/Windows/SmallLogo44x44.png
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
2015-01-17 14:29:55 +01:00
share/cmake-${CMAKE_API}/Templates/Windows/SplashScreen.png
share/cmake-${CMAKE_API}/Templates/Windows/StoreLogo.png
share/cmake-${CMAKE_API}/Templates/Windows/Windows_TemporaryKey.pfx
share/cmake-${CMAKE_API}/completions/cmake
share/cmake-${CMAKE_API}/completions/cpack
share/cmake-${CMAKE_API}/completions/ctest
share/cmake-${CMAKE_API}/editors/emacs/cmake-mode.el
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
2016-11-12 08:49:18 +01:00
share/cmake-${CMAKE_API}/editors/vim/indent/cmake.vim
share/cmake-${CMAKE_API}/editors/vim/syntax/cmake.vim
share/cmake-${CMAKE_API}/include/cmCPluginAPI.h
share/doc/cmake-${CMAKE_API}/Copyright.txt
share/doc/cmake-${CMAKE_API}/cmcompress/Copyright.txt
share/doc/cmake-${CMAKE_API}/cmsys/Copyright.txt