diff options
Diffstat (limited to 'Help')
47 files changed, 271 insertions, 234 deletions
diff --git a/Help/command/add_custom_command.rst b/Help/command/add_custom_command.rst index ecbf9dd..8726b70 100644 --- a/Help/command/add_custom_command.rst +++ b/Help/command/add_custom_command.rst @@ -178,7 +178,7 @@ target is already built, the command will not execute. :: - add_custom_command(TARGET target + add_custom_command(TARGET <target> PRE_BUILD | PRE_LINK | POST_BUILD COMMAND command1 [ARGS] [args1...] [COMMAND command2 [ARGS] [args2...] ...] @@ -188,7 +188,10 @@ target is already built, the command will not execute. [VERBATIM] [USES_TERMINAL]) This defines a new command that will be associated with building the -specified target. When the command will happen is determined by which +specified ``<target>``. The ``<target>`` must be defined in the current +directory; targets defined in other directories may not be specified. + +When the command will happen is determined by which of the following is specified: ``PRE_BUILD`` diff --git a/Help/command/cmake_minimum_required.rst b/Help/command/cmake_minimum_required.rst index 8573218..dc65a9e 100644 --- a/Help/command/cmake_minimum_required.rst +++ b/Help/command/cmake_minimum_required.rst @@ -5,7 +5,7 @@ Set the minimum required version of cmake for a project. :: - cmake_minimum_required(VERSION major[.minor[.patch[.tweak]]] + cmake_minimum_required(VERSION major.minor[.patch[.tweak]] [FATAL_ERROR]) If the current version of CMake is lower than that required it will diff --git a/Help/command/get_target_property.rst b/Help/command/get_target_property.rst index 7798252..2a72c3a 100644 --- a/Help/command/get_target_property.rst +++ b/Help/command/get_target_property.rst @@ -13,6 +13,6 @@ the variable ``VAR``. If the property is not found, ``VAR`` will be set to Properties are usually used to control how a target is built, but some query the target instead. This command can get properties for any target so far created. The targets do not need to be in the current -CMakeLists.txt file. +``CMakeLists.txt`` file. See also the more general :command:`get_property` command. diff --git a/Help/command/if.rst b/Help/command/if.rst index 2465bde..56e618c 100644 --- a/Help/command/if.rst +++ b/Help/command/if.rst @@ -67,9 +67,10 @@ Possible expressions are: True if the given name is an existing policy (of the form ``CMP<NNNN>``). ``if(TARGET target-name)`` - True if the given name is an existing logical target name such as those - created by the :command:`add_executable`, :command:`add_library`, or - :command:`add_custom_target` commands. + True if the given name is an existing logical target name created + by a call to the :command:`add_executable`, :command:`add_library`, + or :command:`add_custom_target` command that has already been invoked + (in any directory). ``if(TEST test-name)`` True if the given name is an existing test name created by the @@ -80,7 +81,7 @@ Possible expressions are: only for full paths. ``if(file1 IS_NEWER_THAN file2)`` - True if file1 is newer than file2 or if one of the two files doesn't + True if ``file1`` is newer than ``file2`` or if one of the two files doesn't exist. Behavior is well-defined only for full paths. If the file time stamps are exactly the same, an ``IS_NEWER_THAN`` comparison returns true, so that any dependent build operations will occur in the event diff --git a/Help/command/install.rst b/Help/command/install.rst index 5d2add7..45167bc 100644 --- a/Help/command/install.rst +++ b/Help/command/install.rst @@ -72,12 +72,13 @@ Installing Targets [[ARCHIVE|LIBRARY|RUNTIME|FRAMEWORK|BUNDLE| PRIVATE_HEADER|PUBLIC_HEADER|RESOURCE] [DESTINATION <dir>] - [INCLUDES DESTINATION [<dir> ...]] [PERMISSIONS permissions...] [CONFIGURATIONS [Debug|Release|...]] [COMPONENT <component>] [OPTIONAL] [NAMELINK_ONLY|NAMELINK_SKIP] - ] [...]) + ] [...] + [INCLUDES DESTINATION [<dir> ...]] + ) The ``TARGETS`` form specifies rules for installing targets from a project. There are five kinds of target files that may be installed: @@ -97,11 +98,7 @@ change the type of target to which the subsequent properties apply. If none is given the installation properties apply to all target types. If only one is given then only targets of that type will be installed (which can be used to install just a DLL or just an import -library). The ``INCLUDES DESTINATION`` specifies a list of directories -which will be added to the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` -target property of the ``<targets>`` when exported by the -:command:`install(EXPORT)` command. If a relative path is -specified, it is treated as relative to the ``$<INSTALL_PREFIX>``. +library). The ``PRIVATE_HEADER``, ``PUBLIC_HEADER``, and ``RESOURCE`` arguments cause subsequent properties to be applied to installing a ``FRAMEWORK`` @@ -131,6 +128,14 @@ option installs nothing. See the :prop_tgt:`VERSION` and :prop_tgt:`SOVERSION` target properties for details on creating versioned shared libraries. +The ``INCLUDES DESTINATION`` specifies a list of directories +which will be added to the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` +target property of the ``<targets>`` when exported by the +:command:`install(EXPORT)` command. If a relative path is +specified, it is treated as relative to the ``$<INSTALL_PREFIX>``. +This is independent of the rest of the argument groups and does +not actually install anything. + One or more groups of properties may be specified in a single call to the ``TARGETS`` form of this command. A target may be installed more than once to different locations. Consider hypothetical targets ``myExe``, diff --git a/Help/manual/cmake-buildsystem.7.rst b/Help/manual/cmake-buildsystem.7.rst index 4a04f31..9004bb2 100644 --- a/Help/manual/cmake-buildsystem.7.rst +++ b/Help/manual/cmake-buildsystem.7.rst @@ -427,7 +427,7 @@ specified will be calculated: ) add_library(lib1Version3 SHARED lib1_v3.cpp) - set_property(TARGET lib1Version2 PROPERTY INTERFACE_CONTAINER_SIZE_REQUIRED 1000) + set_property(TARGET lib1Version3 PROPERTY INTERFACE_CONTAINER_SIZE_REQUIRED 1000) add_executable(exe1 exe1.cpp) # CONTAINER_SIZE_REQUIRED will be "200" diff --git a/Help/manual/cmake-developer.7.rst b/Help/manual/cmake-developer.7.rst index a335384..7bfdcad 100644 --- a/Help/manual/cmake-developer.7.rst +++ b/Help/manual/cmake-developer.7.rst @@ -718,7 +718,7 @@ same consideration applies to macros, functions and imported targets. If False, do not try to use the relevant CMake wrapping command. ``Xxx_Yy_FOUND`` - If False, optional Yy part of Xxx sytem is not available. + If False, optional Yy part of Xxx system is not available. ``Xxx_FOUND`` Set to false, or undefined, if we haven't found, or don't want to use diff --git a/Help/manual/cmake-modules.7.rst b/Help/manual/cmake-modules.7.rst index c9219d5..10f05df 100644 --- a/Help/manual/cmake-modules.7.rst +++ b/Help/manual/cmake-modules.7.rst @@ -213,6 +213,7 @@ All Modules /module/FindwxWidgets /module/FindwxWindows /module/FindXCTest + /module/FindXalanC /module/FindXercesC /module/FindX11 /module/FindXMLRPC diff --git a/Help/manual/cmake-packages.7.rst b/Help/manual/cmake-packages.7.rst index b9073a5..aebc5d9 100644 --- a/Help/manual/cmake-packages.7.rst +++ b/Help/manual/cmake-packages.7.rst @@ -89,7 +89,7 @@ a package is to set the ``CMAKE_PREFIX_PATH`` cache variable. Config-file packages are provided by upstream vendors as part of development packages, that is, they belong with the header files and any other files -provided to assist downsteams in using the package. +provided to assist downstreams in using the package. A set of variables which provide package status information are also set automatically when using a config-file package. The ``<Package>_FOUND`` @@ -352,7 +352,7 @@ version-specific variables ``<Package>_VERSION``, ``<Package>_VERSION_MAJOR``, used to export the targets in the ``ClimbingStatsTargets`` export-set, defined previously by the :command:`install(TARGETS)` command. This command generates the ``ClimbingStatsTargets.cmake`` file to contain :prop_tgt:`IMPORTED` -targets, suitable for use by downsteams and arranges to install it to +targets, suitable for use by downstreams and arranges to install it to ``lib/cmake/ClimbingStats``. The generated ``ClimbingStatsConfigVersion.cmake`` and a ``cmake/ClimbingStatsConfig.cmake`` are installed to the same location, completing the package. @@ -383,7 +383,7 @@ In this case, when using :command:`install(TARGETS)` the ``INCLUDES DESTINATION` was specified. This causes the ``IMPORTED`` targets to have their :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` populated with the ``include`` directory in the :variable:`CMAKE_INSTALL_PREFIX`. When the ``IMPORTED`` -target is used by downsteam, it automatically consumes the entries from +target is used by downstream, it automatically consumes the entries from that property. Creating a Package Configuration File @@ -412,7 +412,7 @@ This can also be extended to cover dependencies: target_link_libraries(ClimbingStats PUBLIC Stats::Types) As the ``Stats::Types`` target is a ``PUBLIC`` dependency of ``ClimbingStats``, -downsteams must also find the ``Stats`` package and link to the ``Stats::Types`` +downstreams must also find the ``Stats`` package and link to the ``Stats::Types`` library. The ``Stats`` package should be found in the ``ClimbingStatsConfig.cmake`` file to ensure this. The ``find_dependency`` macro from the :module:`CMakeFindDependencyMacro` helps with this by propagating @@ -464,7 +464,7 @@ Creating a Package Configuration File for the Build Tree The :command:`export(EXPORT)` command creates an :prop_tgt:`IMPORTED` targets definition file which is specific to the build-tree, and is not relocatable. -This can similiarly be used with a suitable package configuration file and +This can similarly be used with a suitable package configuration file and package version file to define a package for the build tree which may be used without installation. Consumers of the build tree can simply ensure that the :variable:`CMAKE_PREFIX_PATH` contains the build directory, or set the diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst index 3f49572..15eaece 100644 --- a/Help/manual/cmake-variables.7.rst +++ b/Help/manual/cmake-variables.7.rst @@ -118,6 +118,7 @@ Variables that Change Behavior /variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName /variable/CMAKE_ERROR_DEPRECATED /variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION + /variable/CMAKE_EXPORT_COMPILE_COMMANDS /variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY /variable/CMAKE_SYSROOT /variable/CMAKE_FIND_APPBUNDLE diff --git a/Help/manual/cmake.1.rst b/Help/manual/cmake.1.rst index 91af3e3..92f5230 100644 --- a/Help/manual/cmake.1.rst +++ b/Help/manual/cmake.1.rst @@ -199,16 +199,19 @@ Available commands are: ``make_directory <dir>...`` Create ``<dir>`` directories. If necessary, create parent - directories too. + directories too. If a directory already exists it will be + silently ignored. ``md5sum <file>...`` Compute md5sum of files. ``remove [-f] <file>...`` - Remove the file(s), use ``-f`` to force it. + Remove the file(s), use ``-f`` to force it. If a file does + not exist it will be silently ignored. ``remove_directory <dir>`` - Remove a directory and its contents. + Remove a directory and its contents. If a directory does + not exist it will be silently ignored. ``rename <oldname> <newname>`` Rename a file or directory (on one volume). @@ -241,7 +244,8 @@ Available commands are: Touch a file. ``touch_nocreate <file>`` - Touch a file if it exists but do not create it. + Touch a file if it exists but do not create it. If a file does + not exist it will be silently ignored. UNIX-specific Command-Line Tools -------------------------------- diff --git a/Help/module/FindXalanC.rst b/Help/module/FindXalanC.rst new file mode 100644 index 0000000..b99d212 --- /dev/null +++ b/Help/module/FindXalanC.rst @@ -0,0 +1 @@ +.. cmake-module:: ../../Modules/FindXalanC.cmake diff --git a/Help/policy/CMP0040.rst b/Help/policy/CMP0040.rst index e746c03..d46baf6 100644 --- a/Help/policy/CMP0040.rst +++ b/Help/policy/CMP0040.rst @@ -1,18 +1,21 @@ CMP0040 ------- -The target in the TARGET signature of add_custom_command() must exist. +The target in the ``TARGET`` signature of :command:`add_custom_command` +must exist and must be defined in current directory. CMake 2.8.12 and lower silently ignored a custom command created with -the TARGET signature of :command:`add_custom_command` -if the target is unknown. +the ``TARGET`` signature of :command:`add_custom_command` +if the target is unknown or was defined outside the current directory. -The OLD behavior for this policy is to ignore custom commands -for unknown targets. The NEW behavior for this policy is to report an error -if the target referenced in :command:`add_custom_command` is unknown. +The ``OLD`` behavior for this policy is to ignore custom commands +for unknown targets. The ``NEW`` behavior for this policy is to report +an error if the target referenced in :command:`add_custom_command` is +unknown or was defined outside the current directory. This policy was introduced in CMake version 3.0. CMake version -|release| warns when the policy is not set and uses OLD behavior. Use -the cmake_policy command to set it to OLD or NEW explicitly. +|release| warns when the policy is not set and uses ``OLD`` behavior. +Use the :command:`cmake_policy` command to set it to ``OLD`` or +``NEW`` explicitly. .. include:: DEPRECATED.txt diff --git a/Help/release/3.5.rst b/Help/release/3.5.rst new file mode 100644 index 0000000..009eb3c --- /dev/null +++ b/Help/release/3.5.rst @@ -0,0 +1,185 @@ +CMake 3.5 Release Notes +*********************** + +.. only:: html + + .. contents:: + +Changes made since CMake 3.4 include the following. + +New Features +============ + +GUI +--- + +* The :manual:`cmake-gui(1)` gained options to control warnings about + deprecated functionality. + +* The :manual:`cmake-gui(1)` learned an option to set the toolset + to be used with VS IDE and Xcode generators, much like the + existing ``-T`` option to :manual:`cmake(1)`. + +* The :manual:`cmake-gui(1)` gained a Regular Expression Explorer which + may be used to create and evaluate regular expressions in real-time. + The explorer window is available via the ``Tools`` menu. + +Command-Line +------------ + +* The ``-Wdev`` and ``-Wno-dev`` :manual:`cmake(1)` options now also enable + and suppress the deprecated warnings output by default. + +* The suppression of developer warnings as errors can now be controlled with + the new ``-Werror=dev`` and ``-Wno-error=dev`` :manual:`cmake(1)` options. + +* The :manual:`cmake(1)` ``-E`` command-line tools ``copy``, + ``copy_if_different``, ``copy_directory``, and ``make_directory`` + learned to support multiple input files or directories. + +Commands +-------- + +* The :command:`cmake_parse_arguments` command is now implemented natively. + The :module:`CMakeParseArguments` module remains as an empty placeholder + for compatibility. + +* The :command:`install(DIRECTORY)` command learned to support + :manual:`generator expressions <cmake-generator-expressions(7)>` + in the list of directories. + +Variables +--------- + +* The :variable:`CMAKE_ERROR_DEPRECATED` variable can now be set using the + ``-Werror=deprecated`` and ``-Wno-error=deprecated`` :manual:`cmake(1)` + options. + +* The :variable:`CMAKE_WARN_DEPRECATED` variable can now be set using the + ``-Wdeprecated`` and ``-Wno-deprecated`` :manual:`cmake(1)` options. + +Properties +---------- + +* The :prop_tgt:`VS_GLOBAL_<variable>` target property is now implemented + for VS 2010 and above. Previously it worked only in VS 2008 and below. + +Modules +------- + +* The :module:`ExternalProject` module learned a new ``GIT_REMOTE_NAME`` + option to control the ``git clone --origin`` value. + +* The :module:`FindBoost` module now provides imported targets + such as ``Boost::boost`` and ``Boost::filesystem``. + +* The :module:`FindFLEX` module ``FLEX_TARGET`` macro learned a + new ``DEFINES_FILE`` option to specify a custom output header + to be generated. + +* The :module:`FindGTest` module now provides imported targets. + +* The :module:`FindGTK2` module, when ``GTK2_USE_IMPORTED_TARGETS`` is + enabled, now sets ``GTK2_LIBRARIES`` to contain the list of imported + targets instead of the paths to the libraries. Moreover it now sets + a new ``GTK2_TARGETS`` variable containing all the targets imported. + +* The :module:`FindOpenMP` module learned to support Clang. + +* The :module:`FindOpenSSL` module gained a new + ``OPENSSL_MSVC_STATIC_RT`` option to search for libraries using + the MSVC static runtime. + +* The :module:`FindPNG` module now provides imported targets. + +* The :module:`FindTIFF` module now provides imported targets. + +* A :module:`FindXalanC` module was introduced to find the + Apache Xalan-C++ XSL transform processing library. + +* The :module:`FindXercesC` module now provides imported targets. + +Platforms +--------- + +* Support was added for the ARM Compiler (arm.com) with compiler id ``ARMCC``. + +* A new platform file for cross-compiling in the Cray Linux Environment to + target compute nodes was added. See + :ref:`Cross Compiling for the Cray Linux Environment <Cray Cross-Compile>` + for usage details. + +* The :manual:`Compile Features <cmake-compile-features(7)>` functionality + is now aware of features supported by Clang compilers on Windows (MinGW). + +* When building for embedded Apple platforms like iOS CMake learned to build and + install combined targets which contain both a device and a simulator build. + This behavior can be enabled by setting the :prop_tgt:`IOS_INSTALL_COMBINED` + target property. + +CPack +----- + +* The :module:`CPackDMG` module learned new variable to specify AppleScript + file run to customize appearance of ``DragNDrop`` installer folder, + including background image setting using supplied PNG or multi-resolution + TIFF file. See the :variable:`CPACK_DMG_DS_STORE_SETUP_SCRIPT` and + :variable:`CPACK_DMG_BACKGROUND_IMAGE` variables. + +* The :module:`CPackDeb` module learned to set the optional config + file ``Source`` field using a monolithic or per-component variable. + See :variable:`CPACK_DEBIAN_PACKAGE_SOURCE`. + +* The :module:`CPackDeb` module learned to set Package, Section + and Priority control fields per-component. + See variables :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION` and + :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY`. + +* The :module:`CPack DragNDrop generator <CPackDMG>` learned to add + multi-lingual SLAs to a DMG which is presented to the user when they try to + mount the DMG. See the :variable:`CPACK_DMG_SLA_LANGUAGES` and + :variable:`CPACK_DMG_SLA_DIR` variables for details. + +* The :module:`CPackNSIS` module learned new variables to add bitmaps to the + installer. See the :variable:`CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP` + and :variable:`CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP` variables. + +* The :module:`CPackRPM` module learned to set Name and Group + control fields per-component. + See :variable:`CPACK_RPM_<component>_PACKAGE_NAME` + and :variable:`CPACK_RPM_<component>_PACKAGE_GROUP`. + +Other +----- + +* Warnings about deprecated functionality are now enabled by default. + They may be suppressed with ``-Wno-deprecated`` or by setting the + :variable:`CMAKE_WARN_DEPRECATED` variable to false. + +Deprecated and Removed Features +=============================== + +* The :manual:`cmake(1)` ``-E time`` command now properly passes arguments + with spaces or special characters through to the child process. This + may break scripts that worked around the bug with their own extra + quoting or escaping. + +* The :generator:`Xcode` generator was fixed to escape backslashes in + strings consistently with other generators. Projects that previously + worked around the inconsistecy with an extra level of backslashes + conditioned on the Xcode generator must be updated to remove the + workaround for CMake 3.5 and greater. + +Other Changes +============= + +* The :generator:`Visual Studio 14 2015` generator learned to map the + ``/debug:fastlink`` linker flag to the ``.vcxproj`` file property. + +* The :module:`FindGTK2` module now configures the ``GTK2::sigc++`` imported + target to enable c++11 on its dependents when using sigc++ 2.5.1 or higher. + +* The precompiled Windows binary provided on ``cmake.org`` is now a + ``.msi`` package instead of an installer executable. One may need + to manually uninstall CMake versions lower than 3.5 before installing + the new package. diff --git a/Help/release/dev/0-sample-topic.rst b/Help/release/dev/0-sample-topic.rst deleted file mode 100644 index e4cc01e..0000000 --- a/Help/release/dev/0-sample-topic.rst +++ /dev/null @@ -1,7 +0,0 @@ -0-sample-topic --------------- - -* This is a sample release note for the change in a topic. - Developers should add similar notes for each topic branch - making a noteworthy change. Each document should be named - and titled to match the topic name to avoid merge conflicts. diff --git a/Help/release/dev/CMakeParseArguments-native-impl.rst b/Help/release/dev/CMakeParseArguments-native-impl.rst deleted file mode 100644 index 114a099..0000000 --- a/Help/release/dev/CMakeParseArguments-native-impl.rst +++ /dev/null @@ -1,6 +0,0 @@ -CMakeParseArguments-native-impl -------------------------------- - -* The :command:`cmake_parse_arguments` command is now implemented natively. - The :module:`CMakeParseArguments` module remains as an empty placeholder - for compatibility. diff --git a/Help/release/dev/FindBoost-imported-targets.rst b/Help/release/dev/FindBoost-imported-targets.rst deleted file mode 100644 index 1129ded..0000000 --- a/Help/release/dev/FindBoost-imported-targets.rst +++ /dev/null @@ -1,5 +0,0 @@ -FindBoost-imported-targets --------------------------- - -* The :module:`FindBoost` module now provides imported targets - such as ``Boost::boost`` and ``Boost::filesystem``. diff --git a/Help/release/dev/FindFLEX-DEFINES_FILE.rst b/Help/release/dev/FindFLEX-DEFINES_FILE.rst deleted file mode 100644 index 95133aa..0000000 --- a/Help/release/dev/FindFLEX-DEFINES_FILE.rst +++ /dev/null @@ -1,6 +0,0 @@ -FindFLEX-DEFINES_FILE ---------------------- - -* The :module:`FindFLEX` module ``FLEX_TARGET`` macro learned a - new ``DEFINES_FILE`` option to specify a custom output header - to be generated. diff --git a/Help/release/dev/FindGTK2_GTK2_TARGETS.rst b/Help/release/dev/FindGTK2_GTK2_TARGETS.rst deleted file mode 100644 index 76e3657..0000000 --- a/Help/release/dev/FindGTK2_GTK2_TARGETS.rst +++ /dev/null @@ -1,7 +0,0 @@ -FindGTK2_GTK2_TARGETS ---------------------- - -* The :module:`FindGTK2` module, when ``GTK2_USE_IMPORTED_TARGETS`` is - enabled, now sets ``GTK2_LIBRARIES`` to contain the list of imported - targets instead of the paths to the libraries. Moreover it now sets - a new ``GTK2_TARGETS`` variable containing all the targets imported. diff --git a/Help/release/dev/FindGTK2_sigc++_c++11.rst b/Help/release/dev/FindGTK2_sigc++_c++11.rst deleted file mode 100644 index 2ba1459..0000000 --- a/Help/release/dev/FindGTK2_sigc++_c++11.rst +++ /dev/null @@ -1,7 +0,0 @@ -FindGTK2_sigc++_c++11 ---------------------- - -* Starting with sigc++ 2.5.1, c++11 must be enabled in order to use - sigc++. The GTK2::sigc++ imported target will automatically enable the - required build flags in order to build with the version found on the - system. diff --git a/Help/release/dev/FindGTest-imported-targets.rst b/Help/release/dev/FindGTest-imported-targets.rst deleted file mode 100644 index 3cb98da..0000000 --- a/Help/release/dev/FindGTest-imported-targets.rst +++ /dev/null @@ -1,4 +0,0 @@ -FindGTest-imported-targets --------------------------- - -* The :module:`FindGTest` module now provides imported targets. diff --git a/Help/release/dev/FindOpenMP-clang.rst b/Help/release/dev/FindOpenMP-clang.rst deleted file mode 100644 index 44c805c..0000000 --- a/Help/release/dev/FindOpenMP-clang.rst +++ /dev/null @@ -1,4 +0,0 @@ -FindOpenMP-clang ----------------- - -* The :module:`FindOpenMP` module learned to support Clang. diff --git a/Help/release/dev/FindOpenSSL-msvc-static-rt.rst b/Help/release/dev/FindOpenSSL-msvc-static-rt.rst deleted file mode 100644 index 6e0ee27..0000000 --- a/Help/release/dev/FindOpenSSL-msvc-static-rt.rst +++ /dev/null @@ -1,6 +0,0 @@ -FindOpenSSL-msvc-static-rt --------------------------- - -* The :module:`FindOpenSSL` module gained a new - ``OPENSSL_MSVC_STATIC_RT`` option to search for libraries using - the MSVC static runtime. diff --git a/Help/release/dev/FindTIFF-imported-targets.rst b/Help/release/dev/FindTIFF-imported-targets.rst deleted file mode 100644 index f8bbc14..0000000 --- a/Help/release/dev/FindTIFF-imported-targets.rst +++ /dev/null @@ -1,4 +0,0 @@ -FindTIFF-imported-targets -------------------------- - -* The :module:`FindTIFF` module now provides imported targets. diff --git a/Help/release/dev/FindXercesC-imported-targets.rst b/Help/release/dev/FindXercesC-imported-targets.rst deleted file mode 100644 index 69cec5c..0000000 --- a/Help/release/dev/FindXercesC-imported-targets.rst +++ /dev/null @@ -1,4 +0,0 @@ -FindXercesC-imported-targets ----------------------------- - -* The :module:`FindXercesC` module now provides imported targets. diff --git a/Help/release/dev/add-armcc-toolchain.rst b/Help/release/dev/add-armcc-toolchain.rst deleted file mode 100644 index 2cf6414..0000000 --- a/Help/release/dev/add-armcc-toolchain.rst +++ /dev/null @@ -1,4 +0,0 @@ -add-armcc-toolchain -------------------- - -* Support was added for the ARM Compiler (arm.com) with compiler id ``ARMCC``. diff --git a/Help/release/dev/add-cray-linux-platform.rst b/Help/release/dev/add-cray-linux-platform.rst deleted file mode 100644 index 7000382..0000000 --- a/Help/release/dev/add-cray-linux-platform.rst +++ /dev/null @@ -1,7 +0,0 @@ -add-cray-linux-platform ------------------------ - -* A new platform file for cross-compiling in the Cray Linux Environment to - target compute nodes was added. See - :ref:`Cross Compiling for the Cray Linux Environment <Cray Cross-Compile>` - for usage details. diff --git a/Help/release/dev/better-looking-mac-packages.rst b/Help/release/dev/better-looking-mac-packages.rst deleted file mode 100644 index ef1b8e8..0000000 --- a/Help/release/dev/better-looking-mac-packages.rst +++ /dev/null @@ -1,8 +0,0 @@ -better-looking-mac-packages ---------------------------- - -* The :module:`CPackDMG` module learned new variable to specify AppleScript - file run to customize appearance of ``DragNDrop`` installer folder, - including background image setting using supplied PNG or multi-resolution - TIFF file. See the :variable:`CPACK_DMG_DS_STORE_SETUP_SCRIPT` and - :variable:`CPACK_DMG_BACKGROUND_IMAGE` variables. diff --git a/Help/release/dev/cmake-E-multiple-inputs.rst b/Help/release/dev/cmake-E-multiple-inputs.rst deleted file mode 100644 index 480261d..0000000 --- a/Help/release/dev/cmake-E-multiple-inputs.rst +++ /dev/null @@ -1,11 +0,0 @@ -cmake-E-multiple-inputs ------------------------ - -* The :manual:`cmake(1)` ``-E copy`` and ``-E copy_if_different`` command-line - tools learned to support copying multiple input files to a directory. - -* The :manual:`cmake(1)` ``-E copy_directory`` command-line - tool learned to support copying multiple input directories to a directory. - -* The :manual:`cmake(1)` ``-E make_directory`` command-line - tool learned to support copying multiple input directories to a directory. diff --git a/Help/release/dev/cmake-W-options.rst b/Help/release/dev/cmake-W-options.rst deleted file mode 100644 index c055f96..0000000 --- a/Help/release/dev/cmake-W-options.rst +++ /dev/null @@ -1,22 +0,0 @@ -cmake-W-options ---------------- - -* The :variable:`CMAKE_WARN_DEPRECATED` variable can now be set using the - ``-Wdeprecated`` and ``-Wno-deprecated`` :manual:`cmake(1)` options. - -* The ``-Wdev`` and ``-Wno-dev`` :manual:`cmake(1)` options now also enable - and suppress the deprecated warnings output by default. - -* Warnings about deprecated functionality are now enabled by default. - They may be suppressed with ``-Wno-deprecated`` or by setting the - :variable:`CMAKE_WARN_DEPRECATED` variable to false. - -* Warnings about deprecated functionality can now be controlled in the - :manual:`cmake-gui(1)` application. - -* The suppression of developer warnings as errors can now be controlled with - the new ``-Werror=dev`` and ``-Wno-error=dev`` :manual:`cmake(1)` options. - -* The :variable:`CMAKE_ERROR_DEPRECATED` variable can now be set using the - ``-Werror=deprecated`` and ``-Wno-error=deprecated`` :manual:`cmake(1)` - options. diff --git a/Help/release/dev/cmake-gui-select-toolset.rst b/Help/release/dev/cmake-gui-select-toolset.rst deleted file mode 100644 index 5186f91..0000000 --- a/Help/release/dev/cmake-gui-select-toolset.rst +++ /dev/null @@ -1,6 +0,0 @@ -cmake-gui-select-toolset ------------------------- - -* The :manual:`cmake-gui(1)` learned an option to set the toolset - to be used with VS IDE and Xcode generators, much like the - existing ``-T`` option to :manual:`cmake(1)`. diff --git a/Help/release/dev/cpack-deb-config-file-source-field.rst b/Help/release/dev/cpack-deb-config-file-source-field.rst deleted file mode 100644 index bbc2aa6..0000000 --- a/Help/release/dev/cpack-deb-config-file-source-field.rst +++ /dev/null @@ -1,6 +0,0 @@ -cpack-deb-config-file-source-field ----------------------------------- - -* The :module:`CPackDeb` module learned to set optional config - file ``Source`` field - monolithic and per-component variable. - See :variable:`CPACK_DEBIAN_PACKAGE_SOURCE`. diff --git a/Help/release/dev/cpack-deb-new-component-vars.rst b/Help/release/dev/cpack-deb-new-component-vars.rst deleted file mode 100644 index e30afdb..0000000 --- a/Help/release/dev/cpack-deb-new-component-vars.rst +++ /dev/null @@ -1,7 +0,0 @@ -cpack-deb-new-component-vars ----------------------------- - -* The :module:`CPackDeb` module learned to set Package, Section - and Priority control fields per-component. - See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION` - and :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY`. diff --git a/Help/release/dev/cpack-dmg-multilanguage-sla.rst b/Help/release/dev/cpack-dmg-multilanguage-sla.rst deleted file mode 100644 index 9e28fa2..0000000 --- a/Help/release/dev/cpack-dmg-multilanguage-sla.rst +++ /dev/null @@ -1,7 +0,0 @@ -cpack-dmg-multilanguage-sla ---------------------------- - -* The :module:`CPack DragNDrop generator <CPackDMG>` learned to add - multi-lingual SLAs to a DMG which is presented to the user when they try to - mount the DMG. See the :variable:`CPACK_DMG_SLA_LANGUAGES` and - :variable:`CPACK_DMG_SLA_DIR` variables for details. diff --git a/Help/release/dev/cpack-nsis-bitmap.rst b/Help/release/dev/cpack-nsis-bitmap.rst deleted file mode 100644 index c5ccfb5..0000000 --- a/Help/release/dev/cpack-nsis-bitmap.rst +++ /dev/null @@ -1,6 +0,0 @@ -cpack-nsis-bitmap ------------------ - -* The :module:`CPackNSIS` module learned new variables to add bitmaps to the - installer. See the :variable:`CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP` - and :variable:`CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP` variables. diff --git a/Help/release/dev/cpack-rpm-percomponent-group-and-name.rst b/Help/release/dev/cpack-rpm-percomponent-group-and-name.rst deleted file mode 100644 index 146f8ac..0000000 --- a/Help/release/dev/cpack-rpm-percomponent-group-and-name.rst +++ /dev/null @@ -1,7 +0,0 @@ -cpack-rpm-percomponent-group-and-name -------------------------------------- - -* The :module:`CPackRPM` module learned to set Name and Group - control fields per-component. - See :variable:`CPACK_RPM_<component>_PACKAGE_NAME` - and :variable:`CPACK_RPM_<component>_PACKAGE_GROUP`. diff --git a/Help/release/dev/deprecate-CMakeForceCompiler.rst b/Help/release/dev/deprecate-CMakeForceCompiler.rst deleted file mode 100644 index dc6e817..0000000 --- a/Help/release/dev/deprecate-CMakeForceCompiler.rst +++ /dev/null @@ -1,5 +0,0 @@ -deprecate-CMakeForceCompiler ----------------------------- - -* The :module:`CMakeForceCompiler` module and its macros are now deprecated. - See module documentation for an explanation. diff --git a/Help/release/dev/install-DIRECTORY-genex.rst b/Help/release/dev/install-DIRECTORY-genex.rst deleted file mode 100644 index e48f19b..0000000 --- a/Help/release/dev/install-DIRECTORY-genex.rst +++ /dev/null @@ -1,6 +0,0 @@ -install-DIRECTORY-genex ------------------------ - -* The :command:`install(DIRECTORY)` command learned to support - :manual:`generator expressions <cmake-generator-expressions(7)>` - in the list of directories. diff --git a/Help/release/dev/ios-universal.rst b/Help/release/dev/ios-universal.rst deleted file mode 100644 index f96abed..0000000 --- a/Help/release/dev/ios-universal.rst +++ /dev/null @@ -1,7 +0,0 @@ -ios-universal -------------- - -* When building for embedded Apple platforms like iOS CMake learned to build and - install combined targets which contain both a device and a simulator build. - This behavior can be enabled by setting the :prop_tgt:`IOS_INSTALL_COMBINED` - target property. diff --git a/Help/release/dev/mingw-clang-compile-features.rst b/Help/release/dev/mingw-clang-compile-features.rst deleted file mode 100644 index 5b1fb96..0000000 --- a/Help/release/dev/mingw-clang-compile-features.rst +++ /dev/null @@ -1,5 +0,0 @@ -mingw-clang-compile-features ----------------------------- - -* The :manual:`Compile Features <cmake-compile-features(7)>` functionality - is now aware of features supported by Clang compilers on Windows (MinGW). diff --git a/Help/release/dev/regex-explorer.rst b/Help/release/dev/regex-explorer.rst deleted file mode 100644 index 2147816..0000000 --- a/Help/release/dev/regex-explorer.rst +++ /dev/null @@ -1,6 +0,0 @@ -regex-explorer --------------- - -* The Qt base CMake GUI got a Regular Expression Explorer which could be used to - create and evaluate regular expressions in real-time. The explorer window - is available via the ``Tools`` menu. diff --git a/Help/release/dev/release-windows.rst b/Help/release/dev/release-windows.rst deleted file mode 100644 index cc9f2d5..0000000 --- a/Help/release/dev/release-windows.rst +++ /dev/null @@ -1,7 +0,0 @@ -release-windows ---------------- - -* The precompiled Windows binary provided on ``cmake.org`` is now a - ``.msi`` package instead of an installer executable. One may need - to manually uninstall CMake versions lower than 3.5 before installing - the new package. diff --git a/Help/release/dev/vs-debug-fastlink.rst b/Help/release/dev/vs-debug-fastlink.rst deleted file mode 100644 index c2e0599..0000000 --- a/Help/release/dev/vs-debug-fastlink.rst +++ /dev/null @@ -1,5 +0,0 @@ -vs-debug-fastlink ------------------ - -* The :generator:`Visual Studio 14 2015` generator learned to map the - ``/debug:fastlink`` linker flag to the ``.vcxproj`` file property. diff --git a/Help/release/dev/vs-global-properties.rst b/Help/release/dev/vs-global-properties.rst deleted file mode 100644 index cae49b7..0000000 --- a/Help/release/dev/vs-global-properties.rst +++ /dev/null @@ -1,5 +0,0 @@ -vs-global-properties --------------------- - -* The :prop_tgt:`VS_GLOBAL_<variable>` target property is now implemented - for VS 2010 and above. Previously it worked only in VS 2008 and below. diff --git a/Help/release/index.rst b/Help/release/index.rst index 752acbd..6b7da3c 100644 --- a/Help/release/index.rst +++ b/Help/release/index.rst @@ -5,14 +5,13 @@ CMake Release Notes This file should include the adjacent "dev.txt" file in development versions but not in release versions. -.. include:: dev.txt - Releases ======== .. toctree:: :maxdepth: 1 + 3.5 <3.5> 3.4 <3.4> 3.3 <3.3> 3.2 <3.2> diff --git a/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst b/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst new file mode 100644 index 0000000..8776279 --- /dev/null +++ b/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst @@ -0,0 +1,30 @@ +CMAKE_EXPORT_COMPILE_COMMANDS +----------------------------- + +Enable/Disable output of compile commands during generation. + +If enabled, generates a ``compile_commands.json`` file containing the exact +compiler calls for all translation units of the project in machine-readable +form. The format of the JSON file looks like: + +.. code-block:: javascript + + [ + { + "directory": "/home/user/development/project", + "command": "/usr/bin/c++ ... -c ../foo/foo.cc", + "file": "../foo/foo.cc" + }, + + ... + + { + "directory": "/home/user/development/project", + "command": "/usr/bin/c++ ... -c ../foo/bar.cc", + "file": "../foo/bar.cc" + } + ] + +.. note:: + This option is implemented only by :ref:`Makefile Generators` + and the :generator:`Ninja`. It is ignored on other generators. diff --git a/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst b/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst index 6392849..e0be3a4 100644 --- a/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst +++ b/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.rst @@ -8,4 +8,5 @@ specification of a target Windows version to select a corresponding SDK. The :variable:`CMAKE_SYSTEM_VERSION` variable may be set to specify a version. Otherwise CMake computes a default version based on the Windows SDK versions available. The chosen Windows target version number is provided -in ``CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION``. +in ``CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION``. If no Windows 10 SDK +is available this value will be empty. |