2018-08-10 08:59:04 +02:00
|
|
|
@comment $NetBSD: PLIST,v 1.52 2018/08/10 06:59:04 adam Exp $
|
2018-07-22 07:15:53 +02:00
|
|
|
bin/ccmake
|
import cmake-1.6.6
CMake is an extensible, open-source system that manages the build
process in an operating system and compiler independent manner. Unlike
many cross-platform systems, CMake is designed to be used in
conjunction with the native build environment. Simple configuration
files placed in each source directory (called CMakeLists.txt files)
are used to generate standard build files (e.g., makefiles on Unix and
projects/workspaces in Windows MSVC) which are used in the usual
way. CMake can compile source code, create libraries, generate
wrappers, and build executables in arbitrary combinations. CMake
supports in-place and out-of-place builds, and can therefore support
multiple builds from a single source tree. CMake also supports static
and dynamic library builds. Another nice feature of CMake is that it
generates a cache file that is designed to be used with a graphical
editor. For example, when CMake runs, it locates include files,
libraries, and executable, and may encounter optional build
directives. This information is gathered into the cache, which may be
changed by the user prior to the generation of the native build files.
2003-05-07 13:55:03 +02:00
|
|
|
bin/cmake
|
2006-05-19 23:32:52 +02:00
|
|
|
bin/cpack
|
import cmake-1.6.6
CMake is an extensible, open-source system that manages the build
process in an operating system and compiler independent manner. Unlike
many cross-platform systems, CMake is designed to be used in
conjunction with the native build environment. Simple configuration
files placed in each source directory (called CMakeLists.txt files)
are used to generate standard build files (e.g., makefiles on Unix and
projects/workspaces in Windows MSVC) which are used in the usual
way. CMake can compile source code, create libraries, generate
wrappers, and build executables in arbitrary combinations. CMake
supports in-place and out-of-place builds, and can therefore support
multiple builds from a single source tree. CMake also supports static
and dynamic library builds. Another nice feature of CMake is that it
generates a cache file that is designed to be used with a graphical
editor. For example, when CMake runs, it locates include files,
libraries, and executable, and may encounter optional build
directives. This information is gathered into the cache, which may be
changed by the user prior to the generation of the native build files.
2003-05-07 13:55:03 +02:00
|
|
|
bin/ctest
|
2011-10-15 09:24:30 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2016-03-14 11:49:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/command/cmake_parse_arguments.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/command/target_compile_features.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/command/target_sources.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2018-08-10 08:59:04 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/generator/Green Hills MULTI.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/generator/VS_TOOLSET_HOST_ARCH.txt
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/manual/cmake-compile-features.7.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/CPackArchive.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/CPackIFW.rst
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/CPackIFWConfigureFile.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/CPackRPM.rst
|
|
|
|
share/cmake-${CMAKE_API}/Help/module/CPackWIX.rst
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/CSharpUtilities.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/CheckFortranCompilerFlag.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/CheckFortranFunctionExists.rst
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/CheckFortranSourceCompiles.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/CheckFunctionExists.rst
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/CheckIPOSupported.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/FetchContent.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/FindITK.rst
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/FindIce.rst
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/FindIconv.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/FindOpenAL.rst
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/FindOpenCL.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/FindWget.rst
|
|
|
|
share/cmake-${CMAKE_API}/Help/module/FindWish.rst
|
|
|
|
share/cmake-${CMAKE_API}/Help/module/FindX11.rst
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/FindXCTest.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/FindXMLRPC.rst
|
2016-03-14 11:49:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/FindXalanC.rst
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/FindXercesC.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/GoogleTest.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/module/WriteCompilerDetectionHeader.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
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
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/policy/CMP0067.rst
|
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
|
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
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/policy/DEPRECATED.txt
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_gbl/ALLOW_DUPLICATE_CUSTOM_TARGETS.rst
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_gbl/AUTOGEN_SOURCE_GROUP.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_gbl/AUTOGEN_TARGETS_FOLDER.rst
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_gbl/AUTOMOC_SOURCE_GROUP.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_gbl/AUTOMOC_TARGETS_FOLDER.rst
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_gbl/AUTORCC_SOURCE_GROUP.rst
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS.rst
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_gbl/FIND_LIBRARY_USE_LIBX32_PATHS.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING.rst
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_gbl/GENERATOR_IS_MULTI_CONFIG.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS.rst
|
|
|
|
share/cmake-${CMAKE_API}/Help/prop_gbl/USE_FOLDERS.rst
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_inst/CPACK_DESKTOP_SHORTCUTS.rst
|
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
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_inst/CPACK_WIX_ACL.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_sf/COMPILE_OPTIONS.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_sf/INCLUDE_DIRECTORIES.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_sf/SYMBOLIC.rst
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_sf/VS_XAML_TYPE.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_sf/WRAP_EXCLUDE.rst
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_sf/XCODE_LAST_KNOWN_FILE_TYPE.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_test/DISABLED.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTOGEN_BUILD_DIR.rst
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/AUTOGEN_PARALLEL.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/BUILD_RPATH.rst
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/BUILD_WITH_INSTALL_NAME_DIR.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPILE_FEATURES.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPILE_FLAGS.rst
|
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/COMPILE_OPTIONS.rst
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/CONFIG_OUTPUT_NAME.rst
|
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/CONFIG_POSTFIX.rst
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/CUDA_EXTENSIONS.rst
|
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
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_CONFIGURATIONS.rst
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_GLOBAL.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_IMPLIB.rst
|
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/IMPORTED_IMPLIB_CONFIG.rst
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/INTERFACE_SOURCES.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2016-03-14 11:49:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/IOS_INSTALL_COMBINED.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/LANG_CPPLINT.rst
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_DOTNET_REFERENCES.rst
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/VS_WINRT_COMPONENT.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/XCODE_ATTRIBUTE_an-attribute.rst
|
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
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/prop_tgt/XCTEST.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2018-08-10 08:59:04 +02:00
|
|
|
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
|
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
|
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
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/release/3.7.rst
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ARGC.rst
|
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_ARGV0.rst
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AUTOGEN_PARALLEL.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_AUTOUIC_SEARCH_PATHS.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_BACKWARDS_COMPATIBILITY.rst
|
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_BINARY_DIR.rst
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_BUILD_RPATH.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_BUILD_TOOL.rst
|
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_BUILD_TYPE.rst
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_BUILD_WITH_INSTALL_NAME_DIR.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CROSSCOMPILING_EMULATOR.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CTEST_COMMAND.rst
|
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
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_CUDA_SEPARABLE_COMPILATION.rst
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2016-03-14 11:49:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-01-24 17:55:20 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_FIND_PACKAGE_NAME.rst
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_GENERATOR_INSTANCE.rst
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_GENERATOR_PLATFORM.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.rst
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_INSTALL_MESSAGE.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2016-03-14 11:49:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_IOS_INSTALL_COMBINED.rst
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_JOB_POOLS.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER.rst
|
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER_ABI.rst
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_COMPILER_RANLIB.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_CPPLINT.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_CONFIG.rst
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_MATCH_n.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_SYSROOT.rst
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD.rst
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst
|
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_PLATFORM_TOOLSET.rst
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA.rst
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_XCODE_ATTRIBUTE_an-attribute.rst
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_XCODE_GENERATE_SCHEME.rst
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/CTEST_RUN_CURRENT_SCRIPT.rst
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/GHS-MULTI.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/MSVC14.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2018-08-10 08:59:04 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/PackageName_ROOT.rst
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/UNIX.rst
|
|
|
|
share/cmake-${CMAKE_API}/Help/variable/WIN32.rst
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Help/variable/XCODE_VERSION.rst
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/.NoDartCoverage
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2011-10-15 09:24:30 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in
|
2012-08-07 18:18:26 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/BasicConfigVersion-ExactVersion.cmake.in
|
2011-10-15 09:24:30 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/BasicConfigVersion-SameMajorVersion.cmake.in
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeASM_MASMInformation.cmake
|
2011-02-22 16:05:33 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeASM_NASMInformation.cmake
|
2012-08-07 18:18:26 +02:00
|
|
|
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
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeAddNewLanguage.txt
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeCommonLanguageInclude.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeCompilerABI.h
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeCompilerIdDetection.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeDetermineASM_MASMCompiler.cmake
|
2011-02-22 16:05:33 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeDetermineASM_NASMCompiler.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeDetermineCCompiler.cmake
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeDetermineCSharpCompiler.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeDetermineCUDACompiler.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeDetermineCXXCompiler.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeDetermineCompileFeatures.cmake
|
2012-11-15 20:31:54 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeDetermineCompiler.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeDetermineSystem.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeDetermineVSServicePack.cmake
|
2012-08-07 18:18:26 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeExpandImportedTargets.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeExportBuildSettings.cmake
|
2011-10-15 09:24:30 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeFindBinUtils.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeFindCodeBlocks.cmake
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeFindDependencyMacro.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeFindEclipseCDT4.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeFindFrameworks.cmake
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeFindJavaCommon.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeFindKate.cmake
|
2011-10-15 09:24:30 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeFindPackageMode.cmake
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeFindSublimeText2.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeFortranCompilerABI.F
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeFortranCompilerId.F.in
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeFortranInformation.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeGenericSystem.cmake
|
2013-10-17 16:42:46 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeGraphVizOptions.cmake
|
2016-03-14 11:49:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeIOSInstallCombined.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeImportBuildSettings.cmake
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeInitializeConfigs.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeJOMFindMake.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeJavaCompiler.cmake.in
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeJavaInformation.cmake
|
2016-03-14 11:49:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeLanguageInformation.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeMSYSFindMake.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeMinGWFindMake.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeNMakeFindMake.cmake
|
2012-08-07 18:18:26 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeNinjaFindMake.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakePackageConfigHelpers.cmake
|
2010-11-11 09:34:01 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeParseArguments.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeParseImplicitLinkInfo.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakePlatformId.h.in
|
2013-10-17 16:42:46 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakePrintHelpers.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakePrintSystemInformation.cmake
|
2011-10-15 09:24:30 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakePushCheckState.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeSystem.cmake.in
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeSystemSpecificInformation.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeSystemSpecificInitialize.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeTestASM-ATTCompiler.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeTestASMCompiler.cmake
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeTestASM_MASMCompiler.cmake
|
2011-02-22 16:05:33 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeTestASM_NASMCompiler.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeTestCCompiler.cmake
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeTestCSharpCompiler.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeTestCUDACompiler.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeTestCXXCompiler.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeTestCompilerCommon.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeUnixFindMake.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CMakeVerifyManifest.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CPack.OSXScriptLauncher.in
|
2009-05-11 10:02:09 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CPack.OSXScriptLauncher.rsrc.in
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CPack.OSXX11.Info.plist.in
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CPack.OSXX11.main.scpt.in
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CPackArchive.cmake
|
2011-08-01 00:04:03 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CPackBundle.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CPackComponent.cmake
|
2012-08-07 18:18:26 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CPackCygwin.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CPackDMG.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CPackIFW.cmake
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CPackIFWConfigureFile.cmake
|
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
|
2012-08-07 18:18:26 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CPackRPM.cmake
|
2013-05-29 11:59:15 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CPackWIX.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CPackZIP.cmake
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CSharpUtilities.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CTestScriptMode.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CTestTargets.cmake
|
2012-11-15 20:31:54 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CTestUseLaunchers.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2011-10-15 09:24:30 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckCXXSymbolExists.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckForPthreads.c
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckFortranCompilerFlag.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckFortranFunctionExists.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckFortranSourceCompiles.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckFunctionExists.c
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckFunctionExists.cmake
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2012-08-07 18:18:26 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckLanguage.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckLibraryExists.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckLibraryExists.lists.in
|
2011-08-01 00:04:03 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckPrototypeDefinition.c.in
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckPrototypeDefinition.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckSizeOf.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckStructHasMember.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckSymbolExists.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckTypeSize.c.in
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckTypeSize.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckTypeSizeMap.cmake.in
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckVariableExists.c
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CheckVariableExists.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/ADSP-DetermineCompiler.cmake
|
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
|
2011-08-01 00:04:03 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Absoft-Fortran.cmake
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/AppleClang-CXX.cmake
|
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
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/CMakeCommonCompilerMacros.cmake
|
2012-11-15 20:31:54 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Clang-ASM.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Clang-C-FeatureTests.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Clang-C.cmake
|
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
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Clang-CXX.cmake
|
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
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Clang-FindBinUtils.cmake
|
2012-11-15 20:31:54 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Clang.cmake
|
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
|
2011-02-22 16:05:33 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Cray-C.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Cray-CXX.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Cray-DetermineCompiler.cmake
|
2011-02-22 16:05:33 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Cray-Fortran.cmake
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Cray.cmake
|
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
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Fujitsu-DetermineCompiler.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/G95-Fortran.cmake
|
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
|
2011-08-01 00:04:03 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-ASM.cmake
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-C-DetermineCompiler.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-C-FeatureTests.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-C.cmake
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-CXX-FeatureTests.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-CXX.cmake
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-FindBinUtils.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/GNU-Fortran.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/GNU.cmake
|
2011-08-01 00:04:03 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/HP-ASM.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/HP-C-DetermineCompiler.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/HP-C.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/HP-CXX-DetermineCompiler.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/HP-CXX.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/HP-Fortran.cmake
|
2013-10-17 16:42:46 +02:00
|
|
|
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
|
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
|
2013-10-17 16:42:46 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/IAR.cmake
|
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
|
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
|
2009-11-25 20:08:18 +01:00
|
|
|
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
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Intel-CXX.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Intel-DetermineCompiler.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
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
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/MIPSpro-C.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/MIPSpro-CXX.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/MIPSpro-DetermineCompiler.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/MIPSpro-Fortran.cmake
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/MSVC-DetermineCompiler.cmake
|
2011-02-22 16:05:33 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/NAG-Fortran.cmake
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/PGI-C.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/PGI-CXX.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/PGI-DetermineCompiler.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/PGI-Fortran.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/PathScale-DetermineCompiler.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/PathScale-Fortran.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/PathScale.cmake
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2011-02-22 16:05:33 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/SCO-C.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/SCO-CXX.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/SCO-DetermineCompiler.cmake
|
2011-02-22 16:05:33 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/SCO.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/SDCC-C-DetermineCompiler.cmake
|
2011-08-01 00:04:03 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro-ASM.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro-C-DetermineCompiler.cmake
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro-C-FeatureTests.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro-C.cmake
|
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
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro-CXX.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro-Fortran.cmake
|
2017-07-19 19:44:34 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/SunPro.cmake
|
2013-05-29 11:59:15 +02:00
|
|
|
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
|
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
|
2012-01-08 10:47:42 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/TinyCC-C.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/VisualAge-C.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/VisualAge-CXX.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/VisualAge-Fortran.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/Watcom-DetermineCompiler.cmake
|
2011-08-01 00:04:03 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/XL-ASM.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/XL-C-DetermineCompiler.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/XL-C.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/XL-CXX-DetermineCompiler.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/XL-CXX.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/XL-Fortran.cmake
|
2011-08-01 00:04:03 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Compiler/XL.cmake
|
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
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CompilerId/VS-10.csproj.in
|
2012-11-15 20:31:54 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CompilerId/VS-10.vcxproj.in
|
|
|
|
share/cmake-${CMAKE_API}/Modules/CompilerId/VS-7.vcproj.in
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CompilerId/VS-Intel.vfproj.in
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/CompilerId/VS-NsightTegra.vcxproj.in
|
2012-11-15 20:31:54 +01:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Dart.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/DartConfiguration.tcl.in
|
2012-01-08 10:47:42 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/DeployQt4.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Documentation.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/DummyCXXFile.cxx
|
2013-05-29 11:59:15 +02:00
|
|
|
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
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/ExternalProject.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FLTKCompatibility.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FeatureSummary.cmake
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FetchContent.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FetchContent/CMakeLists.cmake.in
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindALSA.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindASPELL.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FindAVIFile.cmake
|
2011-08-01 00:04:03 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindArmadillo.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindBISON.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindBLAS.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FindBZip2.cmake
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindBacktrace.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindBoost.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindBullet.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindCABLE.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindCURL.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FindCVS.cmake
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindCoin3D.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindCups.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FindCurses.cmake
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindCxxTest.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindCygwin.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FindDCMTK.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FindDart.cmake
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindDevIL.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindDoxygen.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FindEXPAT.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindFLEX.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2012-11-15 20:31:54 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindGLEW.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindGTK.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindGTK2.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FindGTest.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindGettext.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindGit.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindGnuTLS.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindGnuplot.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindHDF5.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindHSPELL.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FindHTMLHelp.cmake
|
2012-11-15 20:31:54 +01:00
|
|
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindIce.cmake
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindIconv.cmake
|
2013-05-29 11:59:15 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindIcotool.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2010-11-11 09:34:01 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindLibArchive.cmake
|
2012-08-11 13:10:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindLibLZMA.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindLibXml2.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FindLibXslt.cmake
|
2014-08-10 12:02:51 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindLua.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindOpenAL.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindOpenCL.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindOpenGL.cmake
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindOpenMP.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindOpenSSL.cmake
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindOpenSceneGraph.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2010-11-11 09:34:01 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindPostgreSQL.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindProducer.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindRTI.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindSquish.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindWget.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FindWish.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FindX11.cmake
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindXCTest.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindXMLRPC.cmake
|
2016-03-14 11:49:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindXalanC.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindXercesC.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindZLIB.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Findosg.cmake
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindosgAnimation.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2012-08-07 18:18:26 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindosgPresentation.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindosgProducer.cmake
|
2012-08-07 18:18:26 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindosgQt.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindosgVolume.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FindosgWidget.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Findosg_functions.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FindwxWidgets.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/FindwxWindows.cmake
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/FortranCInterface.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
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
|
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
|
2009-11-25 20:08:18 +01:00
|
|
|
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
|
2011-08-01 00:04:03 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/GNUInstallDirs.cmake
|
2011-10-15 09:24:30 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/GenerateExportHeader.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/GetPrerequisites.cmake
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/ITKCompatibility.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/InstallRequiredSystemLibraries.cmake
|
2011-10-15 09:24:30 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/IntelVSImplicitPath/CMakeLists.txt
|
|
|
|
share/cmake-${CMAKE_API}/Modules/IntelVSImplicitPath/detect.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/IntelVSImplicitPath/hello.f
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Internal/FeatureTesting.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/MacroAddFileDependencies.cmake
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/MatlabTestsRedirect.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2012-08-11 13:10:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/AIX-GNU-ASM.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
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
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/AIX-VisualAge-C.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/AIX-VisualAge-CXX.cmake
|
2011-10-15 09:24:30 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/AIX-VisualAge-Fortran.cmake
|
2011-08-01 00:04:03 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/AIX-XL-ASM.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
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
|
2011-08-01 00:04:03 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/AIX-XL.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
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
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/BSDOS.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/BeOS.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/BlueGeneL.cmake
|
2010-11-11 09:34:01 +01:00
|
|
|
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
|
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
|
2010-10-19 10:15:01 +02:00
|
|
|
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
|
2011-02-22 16:05:33 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/CYGWIN-windres.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/CYGWIN.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Catamount.cmake
|
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
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Darwin-Initialize.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/FreeBSD.cmake
|
2017-04-11 22:18:54 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Fuchsia.cmake
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/GNU.cmake
|
2012-01-08 10:47:42 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/GNUtoMS_lib.bat.in
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/GNUtoMS_lib.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2015-07-27 01:10:47 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/HP-UX-GNU-ASM.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
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
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/HP-UX.cmake
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Haiku.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/IRIX.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/IRIX64.cmake
|
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
|
2010-10-19 10:15:01 +02:00
|
|
|
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
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Linux-GNU-C.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Linux-GNU-CXX.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Linux-GNU-Fortran.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Linux-GNU.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Linux-Intel.cmake
|
2011-02-22 16:05:33 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Linux-NAG-Fortran.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2010-10-19 10:15:01 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Linux-SunPro-CXX.cmake
|
2012-01-08 10:47:42 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Linux-TinyCC-C.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Linux-VisualAge-C.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Linux-VisualAge-CXX.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Linux-VisualAge-Fortran.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2013-12-19 15:29:07 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/MirBSD.cmake
|
2008-08-26 13:37:10 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/NetBSD.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/OSF1.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/OpenBSD.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/OpenVMS.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2015-10-27 10:04:38 +01:00
|
|
|
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
|
2010-10-19 10:15:01 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Borland-C.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Borland-CXX.cmake
|
2014-08-10 12:02:51 +02:00
|
|
|
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
|
2012-08-07 18:18:26 +02:00
|
|
|
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
|
2018-04-02 21:36:44 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Flang-Fortran.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-G95-Fortran.cmake
|
2012-01-08 10:47:42 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-GNU-C-ABI.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-GNU-C.cmake
|
2012-01-08 10:47:42 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-GNU-CXX-ABI.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-GNU-CXX.cmake
|
2012-01-08 10:47:42 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-GNU-Fortran-ABI.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-GNU-Fortran.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-GNU.cmake
|
2011-08-01 00:04:03 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Intel-ASM.cmake
|
2011-02-22 16:05:33 +01:00
|
|
|
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
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-Intel.cmake
|
2012-11-15 20:31:54 +01:00
|
|
|
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
|
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
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-df.cmake
|
2011-02-22 16:05:33 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows-windres.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/Windows.cmake
|
2012-11-15 20:31:54 +01:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Platform/WindowsPaths.cmake
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2011-08-01 00:04:03 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/ProcessorCount.cmake
|
2010-10-19 10:15:01 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Qt4ConfigDependentSettings.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Qt4Macros.cmake
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/RepositoryInfo.txt.in
|
|
|
|
share/cmake-${CMAKE_API}/Modules/SelectLibraryConfigurations.cmake
|
2013-05-29 11:59:15 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/Squish4RunTestCase.bat
|
|
|
|
share/cmake-${CMAKE_API}/Modules/Squish4RunTestCase.sh
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/SquishRunTestCase.bat
|
|
|
|
share/cmake-${CMAKE_API}/Modules/SquishRunTestCase.sh
|
2009-04-07 12:42:14 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/SquishTestScript.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2011-10-15 09:24:30 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/UseJava.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/UseJavaClassFilelist.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/UseJavaSymlinks.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
2013-05-29 11:59:15 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/WIX.template.in
|
2011-10-15 09:24:30 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/WriteBasicConfigVersionFile.cmake
|
2015-01-17 14:29:55 +01:00
|
|
|
share/cmake-${CMAKE_API}/Modules/WriteCompilerDetectionHeader.cmake
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/ecos_clean.cmake
|
2011-10-15 09:24:30 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Modules/kde3init_dummy.cpp.in
|
|
|
|
share/cmake-${CMAKE_API}/Modules/kde3uic.cmake
|
|
|
|
share/cmake-${CMAKE_API}/Modules/readme.txt
|
2009-11-25 20:08:18 +01:00
|
|
|
share/cmake-${CMAKE_API}/Templates/AppleInfo.plist
|
2008-08-25 04:44:05 +02:00
|
|
|
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
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/Templates/TestDriver.cxx.in
|
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
|
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
|
2012-08-11 13:10:54 +02:00
|
|
|
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
|
2008-08-25 04:44:05 +02:00
|
|
|
share/cmake-${CMAKE_API}/include/cmCPluginAPI.h
|
2009-11-25 20:08:18 +01:00
|
|
|
share/doc/cmake-${CMAKE_API}/Copyright.txt
|
|
|
|
share/doc/cmake-${CMAKE_API}/cmcompress/Copyright.txt
|
|
|
|
share/doc/cmake-${CMAKE_API}/cmsys/Copyright.txt
|