diff options
Diffstat (limited to 'Help')
51 files changed, 313 insertions, 221 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..189b51c 100644 --- a/Help/command/install.rst +++ b/Help/command/install.rst @@ -45,11 +45,15 @@ signatures that specify them. The common options are: is associated, such as "runtime" or "development". During component-specific installation only install rules associated with the given component name will be executed. During a full installation - all components are installed. If ``COMPONENT`` is not provided a - default component "Unspecified" is created. The default component - name may be controlled with the + all components are installed unless marked with ``EXCLUDE_FROM_ALL``. + If ``COMPONENT`` is not provided a default component "Unspecified" is + created. The default component name may be controlled with the :variable:`CMAKE_INSTALL_DEFAULT_COMPONENT_NAME` variable. +``EXCLUDE_FROM_ALL`` + Specify that the file is excluded from a full installation and only + installed as part of a component-specific installation + ``RENAME`` Specify a name for an installed file that may be different from the original file. Renaming is allowed only when a single file is @@ -76,7 +80,8 @@ Installing Targets [PERMISSIONS permissions...] [CONFIGURATIONS [Debug|Release|...]] [COMPONENT <component>] - [OPTIONAL] [NAMELINK_ONLY|NAMELINK_SKIP] + [OPTIONAL] [EXCLUDE_FROM_ALL] + [NAMELINK_ONLY|NAMELINK_SKIP] ] [...]) The ``TARGETS`` form specifies rules for installing targets from a @@ -172,7 +177,7 @@ Installing Files [PERMISSIONS permissions...] [CONFIGURATIONS [Debug|Release|...]] [COMPONENT <component>] - [RENAME <name>] [OPTIONAL]) + [RENAME <name>] [OPTIONAL] [EXCLUDE_FROM_ALL]) The ``FILES`` form specifies rules for installing files for a project. File names given as relative paths are interpreted with respect to the @@ -206,7 +211,8 @@ Installing Directories [DIRECTORY_PERMISSIONS permissions...] [USE_SOURCE_PERMISSIONS] [OPTIONAL] [MESSAGE_NEVER] [CONFIGURATIONS [Debug|Release|...]] - [COMPONENT <component>] [FILES_MATCHING] + [COMPONENT <component>] [EXCLUDE_FROM_ALL] + [FILES_MATCHING] [[PATTERN <pattern> | REGEX <regex>] [EXCLUDE] [PERMISSIONS permissions...]] [...]) @@ -282,7 +288,7 @@ Custom Installation Logic :: install([[SCRIPT <file>] [CODE <code>]] - [COMPONENT <component>] [...]) + [COMPONENT <component>] [EXCLUDE_FROM_ALL] [...]) The ``SCRIPT`` form will invoke the given CMake script files during installation. If the script file name is a relative path it will be @@ -307,7 +313,8 @@ Installing Exports [PERMISSIONS permissions...] [CONFIGURATIONS [Debug|Release|...]] [EXPORT_LINK_INTERFACE_LIBRARIES] - [COMPONENT <component>]) + [COMPONENT <component>] + [EXCLUDE_FROM_ALL]) The ``EXPORT`` form generates and installs a CMake file containing code to import targets from the installation tree into another project. diff --git a/Help/command/list.rst b/Help/command/list.rst index a7a05c7..f6b75bc 100644 --- a/Help/command/list.rst +++ b/Help/command/list.rst @@ -9,6 +9,7 @@ List operations. list(GET <list> <element index> [<element index> ...] <output variable>) list(APPEND <list> [<element> ...]) + list(FILTER <list> <INCLUDE|EXCLUDE> REGEX <regular_expression>) list(FIND <list> <value> <output variable>) list(INSERT <list> <element_index> <element> [<element> ...]) list(REMOVE_ITEM <list> <value> [<value> ...]) @@ -23,6 +24,12 @@ List operations. ``APPEND`` will append elements to the list. +``FILTER`` will include or remove items from the list that match the +mode's pattern. +In ``REGEX`` mode, items will be matched against the given regular expression. +For more information on regular expressions see also the :command:`string` +command. + ``FIND`` will return the index of the element specified in the list or -1 if it wasn't found. @@ -38,9 +45,9 @@ difference is that ``REMOVE_ITEM`` will remove the given items, while ``SORT`` sorts the list in-place alphabetically. -The list subcommands ``APPEND``, ``INSERT``, ``REMOVE_AT``, ``REMOVE_ITEM``, -``REMOVE_DUPLICATES``, ``REVERSE`` and ``SORT`` may create new values for -the list within the current CMake variable scope. Similar to the +The list subcommands ``APPEND``, ``INSERT``, ``FILTER``, ``REMOVE_AT``, +``REMOVE_ITEM``, ``REMOVE_DUPLICATES``, ``REVERSE`` and ``SORT`` may create new +values for the list within the current CMake variable scope. Similar to the :command:`set` command, the LIST command creates new variable values in the current scope, even if the list itself is actually defined in a parent scope. To propagate the results of these operations upwards, use 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-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..959148e 100644 --- a/Help/manual/cmake.1.rst +++ b/Help/manual/cmake.1.rst @@ -58,13 +58,14 @@ Options <dir> = Project binary directory to be built. --target <tgt> = Build <tgt> instead of default targets. + May only be specified once. --config <cfg> = For multi-configuration tools, choose <cfg>. --clean-first = Build target 'clean' first, then build. (To clean only, use --target 'clean'.) --use-stderr = Ignored. Behavior is default in CMake >= 3.0. -- = Pass remaining options to the native tool. - Run cmake --build with no options for quick help. + Run ``cmake --build`` with no options for quick help. ``-N`` View mode only. 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..62703b3 --- /dev/null +++ b/Help/release/3.5.rst @@ -0,0 +1,188 @@ +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 :module:`CMakeForceCompiler` module and its macros are now deprecated. + See module documentation for an explanation. + +* 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/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/FindProtobuf-version.rst b/Help/release/dev/FindProtobuf-version.rst new file mode 100644 index 0000000..2bfd9f4 --- /dev/null +++ b/Help/release/dev/FindProtobuf-version.rst @@ -0,0 +1,6 @@ +FindProtobuf-version +-------------------- + +* The :module:`FindProtobuf` module learned to provide a ``PROTOBUF_VERSION`` + variable and check the version number requested in a :command:`find_package` + call. 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/cpack-rpm-upper-cased-components.rst b/Help/release/dev/cpack-rpm-upper-cased-components.rst new file mode 100644 index 0000000..a5fb233 --- /dev/null +++ b/Help/release/dev/cpack-rpm-upper-cased-components.rst @@ -0,0 +1,15 @@ +cpack-rpm-upper-cased-components +-------------------------------- + +* The "CPackRPM" module now supports upper cased component name + 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 prefered 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. 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/error-multiple-targets.rst b/Help/release/dev/error-multiple-targets.rst new file mode 100644 index 0000000..060b26b --- /dev/null +++ b/Help/release/dev/error-multiple-targets.rst @@ -0,0 +1,6 @@ +error-multiple-targets +---------------------- + +* 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. 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/install-EXCLUDE_FROM_ALL.rst b/Help/release/dev/install-EXCLUDE_FROM_ALL.rst new file mode 100644 index 0000000..a611eae --- /dev/null +++ b/Help/release/dev/install-EXCLUDE_FROM_ALL.rst @@ -0,0 +1,5 @@ +install-EXCLUDE_FROM_ALL +------------------------ + +* The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option + to leave installation rules out of the default installation. 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/list-FILTER-command.rst b/Help/release/dev/list-FILTER-command.rst new file mode 100644 index 0000000..3fee4f0 --- /dev/null +++ b/Help/release/dev/list-FILTER-command.rst @@ -0,0 +1,5 @@ +list-FILTER-command +------------------- + +* The :command:`list` command gained a ``FILTER`` sub-command to filter + list elements by regular expression. 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..7ecf910 100644 --- a/Help/release/index.rst +++ b/Help/release/index.rst @@ -13,6 +13,7 @@ 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. |