From 528428202370c219b0878f3d6a88a48e3e8d16da Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 10 Oct 2014 15:13:52 -0400 Subject: Help: Consolidate 3.1 release notes Move all development release notes into a new version-specific document: tail -q -n +3 Help/release/dev/* > Help/release/3.1.0.rst git rm -- Help/release/dev/* except the sample topic: git checkout HEAD -- Help/release/dev/0-sample-topic.rst Reference the new document from the release notes index document. Add a title and intro sentence to the new document by hand. --- Help/release/3.1.0.rst | 331 +++++++++++++++++++++ Help/release/dev/CMP0052.rst | 5 - Help/release/dev/CMP0053.rst | 6 - Help/release/dev/CMakeDetermineVSServicePack.rst | 6 - .../CMakePackageConfigHelpers-INSTALL_PREFIX.rst | 7 - .../release/dev/ExternalData-missing-not-fatal.rst | 8 - Help/release/dev/ExternalProject-BUILD_ALWAYS.rst | 6 - Help/release/dev/ExternalProject-add-lzma.rst | 5 - .../dev/ExternalProject-no-download-progress.rst | 6 - .../dev/ExternalProject_exclude-from-all.rst | 11 - .../dev/FeatureSummary_combine_WHAT_values.rst | 6 - Help/release/dev/FindCUDA-cubin-fatbin.rst | 5 - Help/release/dev/FindGTest-AUTO-SOURCES.rst | 7 - Help/release/dev/FindHg-WC_INFO.rst | 5 - Help/release/dev/FindOpenGL-target.rst | 5 - .../release/dev/FindOpenMP-add-Fortran-support.rst | 4 - Help/release/dev/FindPkgConfig-PKG_CONFIG.rst | 5 - Help/release/dev/FindVTK.rst | 6 - .../InstallRequiredSystemLibraries-vs-openmp.rst | 6 - Help/release/dev/OpenWatcom.rst | 9 - Help/release/dev/UseSWIG-guess_module_name.rst | 6 - .../release/dev/add-CheckFortranSourceCompiles.rst | 5 - Help/release/dev/add-FindOpenCL.rst | 4 - Help/release/dev/add-liblzma.rst | 5 - .../dev/add_custom_command-DEPENDS-genex.rst | 5 - .../dev/allow-OBJECT-library-extra-sources.rst | 6 - Help/release/dev/cmake-E-env.rst | 4 - Help/release/dev/cmake-gui-capture-output.rst | 6 - Help/release/dev/compile-language-features.rst | 28 -- Help/release/dev/cpack-add-lzma.rst | 5 - Help/release/dev/cpack-deb-compression-types.rst | 6 - Help/release/dev/cpack-ifw-generator.rst | 5 - Help/release/dev/ctest-coverage-extra.rst | 5 - Help/release/dev/ctest-intel-coverage.rst | 5 - Help/release/dev/ctest-memcheck-sanitizers.rst | 8 - Help/release/dev/custom-ninja-deptypes.rst | 5 - Help/release/dev/delay-generator-toolset.rst | 8 - Help/release/dev/export-from-obj-libs.rst | 5 - Help/release/dev/faster-parsers.rst | 6 - Help/release/dev/file-strings-encoding.rst | 5 - Help/release/dev/find-module-targets.rst | 8 - Help/release/dev/fix-OSX-bundle-rpaths-and-Qt5.rst | 6 - Help/release/dev/generalize-LINK_ONLY.rst | 6 - Help/release/dev/if-sanity.rst | 6 - Help/release/dev/install-messages.rst | 8 - Help/release/dev/link-libraries-response-files.rst | 5 - Help/release/dev/link-line-dedup.rst | 5 - .../dev/module-WriteCompilerDetectionHeader.rst | 5 - Help/release/dev/msvc-compiler-pdb-files.rst | 10 - Help/release/dev/note-link-libraries-genex.rst | 22 -- Help/release/dev/package-disable-registry.rst | 11 - Help/release/dev/string-GENEX_STRIP.rst | 6 - Help/release/dev/string-uuid.rst | 5 - Help/release/dev/target-INTERFACE_SOURCES.rst | 5 - Help/release/dev/target-SOURCES-genex.rst | 12 - Help/release/dev/target-SOURCES-write.rst | 6 - Help/release/dev/target_sources-command.rst | 5 - .../dev/variable_watch-no-allowed-access.rst | 8 - Help/release/dev/vs-generator-platform.rst | 9 - Help/release/dev/vs-masm.rst | 5 - Help/release/dev/vs-nsight-tegra-generator.rst | 8 - .../dev/vs-special-source-file-properties.rst | 11 - Help/release/dev/vs-windows-apps.rst | 6 - Help/release/dev/vs-windows-phone-and-store.rst | 10 - Help/release/dev/vs14-generator.rst | 4 - Help/release/dev/wix-acl.rst | 6 - Help/release/dev/xcode-file-type.rst | 7 - Help/release/index.rst | 1 + 68 files changed, 332 insertions(+), 455 deletions(-) create mode 100644 Help/release/3.1.0.rst delete mode 100644 Help/release/dev/CMP0052.rst delete mode 100644 Help/release/dev/CMP0053.rst delete mode 100644 Help/release/dev/CMakeDetermineVSServicePack.rst delete mode 100644 Help/release/dev/CMakePackageConfigHelpers-INSTALL_PREFIX.rst delete mode 100644 Help/release/dev/ExternalData-missing-not-fatal.rst delete mode 100644 Help/release/dev/ExternalProject-BUILD_ALWAYS.rst delete mode 100644 Help/release/dev/ExternalProject-add-lzma.rst delete mode 100644 Help/release/dev/ExternalProject-no-download-progress.rst delete mode 100644 Help/release/dev/ExternalProject_exclude-from-all.rst delete mode 100644 Help/release/dev/FeatureSummary_combine_WHAT_values.rst delete mode 100644 Help/release/dev/FindCUDA-cubin-fatbin.rst delete mode 100644 Help/release/dev/FindGTest-AUTO-SOURCES.rst delete mode 100644 Help/release/dev/FindHg-WC_INFO.rst delete mode 100644 Help/release/dev/FindOpenGL-target.rst delete mode 100644 Help/release/dev/FindOpenMP-add-Fortran-support.rst delete mode 100644 Help/release/dev/FindPkgConfig-PKG_CONFIG.rst delete mode 100644 Help/release/dev/FindVTK.rst delete mode 100644 Help/release/dev/InstallRequiredSystemLibraries-vs-openmp.rst delete mode 100644 Help/release/dev/OpenWatcom.rst delete mode 100644 Help/release/dev/UseSWIG-guess_module_name.rst delete mode 100644 Help/release/dev/add-CheckFortranSourceCompiles.rst delete mode 100644 Help/release/dev/add-FindOpenCL.rst delete mode 100644 Help/release/dev/add-liblzma.rst delete mode 100644 Help/release/dev/add_custom_command-DEPENDS-genex.rst delete mode 100644 Help/release/dev/allow-OBJECT-library-extra-sources.rst delete mode 100644 Help/release/dev/cmake-E-env.rst delete mode 100644 Help/release/dev/cmake-gui-capture-output.rst delete mode 100644 Help/release/dev/compile-language-features.rst delete mode 100644 Help/release/dev/cpack-add-lzma.rst delete mode 100644 Help/release/dev/cpack-deb-compression-types.rst delete mode 100644 Help/release/dev/cpack-ifw-generator.rst delete mode 100644 Help/release/dev/ctest-coverage-extra.rst delete mode 100644 Help/release/dev/ctest-intel-coverage.rst delete mode 100644 Help/release/dev/ctest-memcheck-sanitizers.rst delete mode 100644 Help/release/dev/custom-ninja-deptypes.rst delete mode 100644 Help/release/dev/delay-generator-toolset.rst delete mode 100644 Help/release/dev/export-from-obj-libs.rst delete mode 100644 Help/release/dev/faster-parsers.rst delete mode 100644 Help/release/dev/file-strings-encoding.rst delete mode 100644 Help/release/dev/find-module-targets.rst delete mode 100644 Help/release/dev/fix-OSX-bundle-rpaths-and-Qt5.rst delete mode 100644 Help/release/dev/generalize-LINK_ONLY.rst delete mode 100644 Help/release/dev/if-sanity.rst delete mode 100644 Help/release/dev/install-messages.rst delete mode 100644 Help/release/dev/link-libraries-response-files.rst delete mode 100644 Help/release/dev/link-line-dedup.rst delete mode 100644 Help/release/dev/module-WriteCompilerDetectionHeader.rst delete mode 100644 Help/release/dev/msvc-compiler-pdb-files.rst delete mode 100644 Help/release/dev/note-link-libraries-genex.rst delete mode 100644 Help/release/dev/package-disable-registry.rst delete mode 100644 Help/release/dev/string-GENEX_STRIP.rst delete mode 100644 Help/release/dev/string-uuid.rst delete mode 100644 Help/release/dev/target-INTERFACE_SOURCES.rst delete mode 100644 Help/release/dev/target-SOURCES-genex.rst delete mode 100644 Help/release/dev/target-SOURCES-write.rst delete mode 100644 Help/release/dev/target_sources-command.rst delete mode 100644 Help/release/dev/variable_watch-no-allowed-access.rst delete mode 100644 Help/release/dev/vs-generator-platform.rst delete mode 100644 Help/release/dev/vs-masm.rst delete mode 100644 Help/release/dev/vs-nsight-tegra-generator.rst delete mode 100644 Help/release/dev/vs-special-source-file-properties.rst delete mode 100644 Help/release/dev/vs-windows-apps.rst delete mode 100644 Help/release/dev/vs-windows-phone-and-store.rst delete mode 100644 Help/release/dev/vs14-generator.rst delete mode 100644 Help/release/dev/wix-acl.rst delete mode 100644 Help/release/dev/xcode-file-type.rst diff --git a/Help/release/3.1.0.rst b/Help/release/3.1.0.rst new file mode 100644 index 0000000..64ad4e2 --- /dev/null +++ b/Help/release/3.1.0.rst @@ -0,0 +1,331 @@ +CMake 3.1.0 Release Notes +************************* + +.. only:: html + + .. contents:: + +Changes made since CMake 3.0.0 include the following. + +* The :module:`CheckFortranSourceCompiles` module was added to + provide a ``CHECK_Fortran_SOURCE_COMPILES`` macro. + +* The :command:`add_custom_command` command learned to interpret + :manual:`cmake-generator-expressions(7)` in arguments to ``DEPENDS``. + +* The :module:`FindOpenCL` module was introduced. + +* The :manual:`cmake(1)` ``-E tar`` command learned to support + lzma-compressed files. + +* :ref:`Object Libraries` may now have extra sources that do not + compile to object files so long as they would not affect linking + of a normal library (e.g. ``.dat`` is okay but not ``.def``). + +* The :module:`CMakeDetermineVSServicePack` module now warns that + it is deprecated and should not longer be used. Use the + :variable:`CMAKE__COMPILER_VERSION` variable instead. + +* The :manual:`cmake(1)` ``-E`` option learned a new ``env`` command. + +* The :manual:`cmake-gui(1)` learned to capture output from child + processes started by the :command:`execute_process` command + and display it in the output window. + +* The :module:`CMakePackageConfigHelpers` module + :command:`configure_package_config_file` command learned a new + ``INSTALL_PREFIX`` option to generate package configuration files + meant for a prefix other than :variable:`CMAKE_INSTALL_PREFIX`. + +* Policy :policy:`CMP0052` introduced to control directories in the + :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of exported targets. + +* The :manual:`cmake-language(7)` syntax for :ref:`Variable References` and + :ref:`Escape Sequences` was simplified in order to allow a much faster + implementation. See policy :policy:`CMP0053`. + +* New :prop_tgt:`CXX_STANDARD` and :prop_tgt:`CXX_EXTENSIONS` target + properties may specify values which CMake uses to compute required + compile options such as ``-std=c++11`` or ``-std=gnu++11``. The + :variable:`CMAKE_CXX_STANDARD` and :variable:`CMAKE_CXX_EXTENSIONS` + variables may be set to initialize the target properties. + +* New :prop_tgt:`C_STANDARD` and :prop_tgt:`C_EXTENSIONS` target + properties may specify values which CMake uses to compute required + compile options such as ``-std=c11`` or ``-std=gnu11``. The + :variable:`CMAKE_C_STANDARD` and :variable:`CMAKE_C_EXTENSIONS` + variables may be set to initialize the target properties. + +* New :prop_tgt:`COMPILE_FEATURES` target property may contain a list + of features required to compile a target. CMake uses this + information to ensure that the compiler in use is capable of building + the target, and to add any necessary compile flags to support language + features. + +* New :command:`target_compile_features` command allows populating the + :prop_tgt:`COMPILE_FEATURES` target property, just like any other + build variable. + +* New ``COMPILE_FEATURES`` + :manual:`generator expression ` allows + setting build properties based on available compiler features. + +* :manual:`cpack(1)` gained ``7Z`` and ``TXZ`` generators supporting + lzma-compressed archives. + +* The :module:`CPackDeb` module learned a new + :variable:`CPACK_DEBIAN_COMPRESSION_TYPE` variable to set the + tarball compression type. + +* :manual:`cpack(1)` gained an ``IFW`` generator to package using + Qt Framework Installer tools. See the :module:`CPackIFW` module. + +* The :command:`ctest_coverage` command learned to read variable + ``CTEST_COVERAGE_EXTRA_FLAGS`` to set ``CoverageExtraFlags``. + +* The :command:`ctest_coverage` command learned to support + Intel coverage files with the ``codecov`` tool. + +* The :command:`ctest_memcheck` command learned to support sanitizer + modes, including ``AddressSanitizer``, ``MemorySanitizer``, + ``ThreadSanitizer``, and ``UndefinedBehaviorSanitizer``. + Options may be set using the new + :variable:`CTEST_MEMORYCHECK_SANITIZER_OPTIONS` variable. + +* Add a `CMAKE_NINJA_DEPTYPE_` variable so that compilers may set the + deptype for use in Ninja other than those CMake itself knows about. + +* The :variable:`CMAKE_GENERATOR_TOOLSET` variable may now be + initialized in a toolchain file specified by the + :variable:`CMAKE_TOOLCHAIN_FILE` variable. This is useful + when cross-compiling with the Xcode or Visual Studio + generators. + +* The :module:`GenerateExportHeader` module ``generate_export_header`` + function learned to allow use with :ref:`Object Libraries`. + +* The :module:`ExternalData` module learned to tolerate a ``DATA{}`` + reference to a missing source file with a warning instead of + rejecting it with an error. This helps developers write new + ``DATA{}`` references to test reference outputs that have not + yet been created. + +* The :module:`ExternalProject` module learned to support lzma-compressed + source tarballs with ``.7z``, ``.tar.xz``, and ``.txz`` extensions. + +* The :module:`ExternalProject` module ``ExternalProject_Add`` command + learned a new ``BUILD_ALWAYS`` option to cause the external project + build step to run every time the host project is built. + +* The :module:`ExternalProject` module ``ExternalProject_Add`` command + learned a new ``EXCLUDE_FROM_ALL`` option to cause the external + project target to have the :prop_tgt:`EXCLUDE_FROM_ALL` target + property set. + +* The :module:`ExternalProject` module ``ExternalProject_Add_Step`` command + learned a new ``EXCLUDE_FROM_MAIN`` option to cause the step to not be + a direct dependency of the main external project target. + +* The :module:`ExternalProject` module ``ExternalProject_Add`` command + learned a new ``DOWNLOAD_NO_PROGRESS`` option to disable progress + output while downloading the source tarball. + +* The :manual:`cmake-language(7)` internal implementation of generator + expression and list expansion parsers have been optimized and shows + non-trivial speedup on large projects. + +* The :module:`FeatureSummary` module ``feature_summary`` API + learned to accept multiple values for the ``WHAT`` option and + combine them appropriately. + +* The :command:`file(STRINGS)` command gained a new ``ENCODING`` + option to enable extraction of ``UTF-8`` strings. + +* The :module:`FindCUDA` module learned to support ``fatbin`` and ``cubin`` + modules. + +* The :module:`FindGTest` module ``gtest_add_tests`` macro learned + a new ``AUTO`` option to automatically read the :prop_tgt:`SOURCES` + target property of the test executable and scan the source files + for tests to be added. + +* The :module:`FindHg` module gained a new ``Hg_WC_INFO`` macro to + help run ``hg`` to extract information about a Mercurial work copy. + +* The :module:`FindGLUT` module now provides imported targets. + +* The :module:`FindGLEW` module now provides imported targets. + +* The :module:`FindZLIB` module now provides imported targets. + +* The :module:`FindOpenGL` module now provides imported targets + ``OpenGL::GL`` and ``OpenGL::GLU`` when the libraries are found. + +* The :module:`FindOpenMP` module learned to support Fortran. + +* The :module:`FindPkgConfig` module learned to use the ``PKG_CONFIG`` + environment variable value as the ``pkg-config`` executable, if set. + +* The :module:`FindVTK` module dropped support for finding VTK 4.0. + It is now a thin-wrapper around ``find_package(VTK ... NO_MODULE)``. + This produces much clearer error messages when VTK is not found. + +* The :module:`BundleUtilities` module learned to resolve and replace + ``@rpath`` placeholders on OS X to correctly bundle applications + using them. + +* The :prop_tgt:`INTERFACE_LINK_LIBRARIES` target property now supports + a ``$`` + :manual:`generator expression `. + +* The :command:`if` command no longer automatically dereferences + variables named in quoted or bracket arguments. See policy + :policy:`CMP0054`. + +* The :command:`install` command learned a ``MESSAGE_NEVER`` option + to avoid output during installation. + +* The :variable:`CMAKE_INSTALL_MESSAGE` variable was introduced to + optionally reduce output installation. + +* The :module:`InstallRequiredSystemLibraries` module gained a new + ``CMAKE_INSTALL_OPENMP_LIBRARIES`` option to install MSVC OpenMP + runtime libraries. + +* The Makefile generators learned to use response files with GNU tools + on Windows to pass library directories and names to the linker. + +* When generating linker command-lines, CMake now avoids repeating + items corresponding to SHARED library targets. + +* The :module:`WriteCompilerDetectionHeader` module was added to allow + creation of a portable header file for compiler optional feature detection. + +* New :prop_tgt:`COMPILE_PDB_NAME` and + :prop_tgt:`COMPILE_PDB_OUTPUT_DIRECTORY` target properties + were introduced to specify the MSVC compiler program database + file location (``cl /Fd``). This complements the existing + :prop_tgt:`PDB_NAME` and :prop_tgt:`PDB_OUTPUT_DIRECTORY` + target properties that specify the linker program database + file location (``link /pdb``). + +* In CMake 3.0 the :command:`target_link_libraries` command + accidentally began allowing unquoted arguments to use + :manual:`generator expressions ` + containing a (``;`` separated) list within them. For example:: + + set(libs B C) + target_link_libraries(A PUBLIC $) + + This is equivalent to writing:: + + target_link_libraries(A PUBLIC $) + + and was never intended to work. It did not work in CMake 2.8.12. + Such generator expressions should be in quoted arguments:: + + set(libs B C) + target_link_libraries(A PUBLIC "$") + + CMake 3.1 again requires the quotes for this to work correctly. + +* Support for the Open Watcom compiler has been overhauled. + The :variable:`CMAKE__COMPILER_ID` is now ``OpenWatcom``, + and the :variable:`CMAKE__COMPILER_VERSION` now uses + the Open Watcom external version numbering. The external + version numbers are lower than the internal version number + by 11. + +* The :command:`export(PACKAGE)` command learned to check the + :variable:`CMAKE_EXPORT_NO_PACKAGE_REGISTRY` variable to skip + exporting the package. + +* The :command:`find_package` command learned to check the + :variable:`CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY` and + :variable:`CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY` + variables to skip searching the package registries. + +* The :command:`string` command learned a new ``GENEX_STRIP`` subcommand + which removes + :manual:`generator expression `. + +* The :command:`string` command learned a new ``UUID`` subcommand + to generate a univerally unique identifier. + +* A new :prop_tgt:`INTERFACE_SOURCES` target property was introduced. This is + consumed by dependent targets, which compile and link the listed sources. + +* The :command:`target_sources` command was added to add to the + :prop_tgt:`SOURCES` target property. + +* The :prop_tgt:`SOURCES` target property now contains + :manual:`generator expression ` + such as ``TARGET_OBJECTS`` when read at configure time, if + policy :policy:`CMP0051` is ``NEW``. + +* The :prop_tgt:`SOURCES` target property now generally supports + :manual:`generator expression `. The + generator expressions may be used in the :command:`add_library` and + :command:`add_executable` commands. + +* It is now possible to write and append to the :prop_tgt:`SOURCES` target + property. The :variable:`CMAKE_DEBUG_TARGET_PROPERTIES` variable may be + used to trace the origin of sources. + +* The :module:`UseSWIG` module learned to detect the module name + from ``.i`` source files if possible to avoid the need to set + the ``SWIG_MODULE_NAME`` source file property explicitly. + +* Callbacks established by the :command:`variable_watch` command will no + longer receive the ``ALLOWED_UNKNOWN_READ_ACCESS`` access type when + the undocumented ``CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS`` variable is + set. Uninitialized variable accesses will always be reported as + ``UNKNOWN_READ_ACCESS``. + +* A :generator:`Visual Studio 14` generator was added. + +* The Visual Studio generators for versions 8 (2005) and above + learned to read the target platform name from a new + :variable:`CMAKE_GENERATOR_PLATFORM` variable when it is + not specified as part of the generator name. The platform + name may be specified on the :manual:`cmake(1)` command line + with the ``-A`` option, e.g. ``-G "Visual Studio 12 2013" -A x64``. + +* Visual Studio generators for VS 8 and later learned to support + the ``ASM_MASM`` language. + +* Generators for Visual Studio 10 (2010) and above learned to generate + projects for NVIDIA Nsight Tegra Visual Studio Edition. One may set + the :variable:`CMAKE_SYSTEM_NAME` variable to ``Android`` on the + :manual:`cmake(1)` command-line or in a :variable:`CMAKE_TOOLCHAIN_FILE` + to activate this platform. + +* A :prop_sf:`VS_DEPLOYMENT_CONTENT` source file property was added + to tell the Visual Studio generators to mark content for deployment + in Windows Phone and Windows Store projects. + +* The Visual Studio generators learned to treat ``.hlsl`` source + files as High Level Shading Language sources (using ``FXCompile`` + in ``.vcxproj`` files). A :prop_sf:`VS_SHADER_TYPE` source file + property was added to specify the Shader Type. + +* The :prop_tgt:`VS_WINRT_COMPONENT` target property was created to + tell Visual Studio generators to compile a shared library as a + Windows Runtime (WinRT) component. + +* Generators for Visual Studio 11 (2012) and above learned to generate + projects for Windows Phone and Windows Store. One may set the + :variable:`CMAKE_SYSTEM_NAME` variable to ``WindowsPhone`` + or ``WindowsStore`` on the :manual:`cmake(1)` command-line + or in a :variable:`CMAKE_TOOLCHAIN_FILE` to activate these platforms. + Also set :variable:`CMAKE_SYSTEM_VERSION` to ``8.0`` or ``8.1`` to + specify the version of Windows to be targeted. + +* The :manual:`cpack(1)` ``WiX`` generator learned to support + a :prop_inst:`CPACK_WIX_ACL` installed file property to + specify an Access Control List. + +* The :generator:`Xcode` generator learned to check source + file properties :prop_sf:`XCODE_EXPLICIT_FILE_TYPE` and + :prop_sf:`XCODE_LAST_KNOWN_FILE_TYPE` for a custom Xcode + file reference type. diff --git a/Help/release/dev/CMP0052.rst b/Help/release/dev/CMP0052.rst deleted file mode 100644 index adb3d44..0000000 --- a/Help/release/dev/CMP0052.rst +++ /dev/null @@ -1,5 +0,0 @@ -CMP0052 -------- - -* Policy :policy:`CMP0052` introduced to control directories in the - :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of exported targets. diff --git a/Help/release/dev/CMP0053.rst b/Help/release/dev/CMP0053.rst deleted file mode 100644 index 3b835fb..0000000 --- a/Help/release/dev/CMP0053.rst +++ /dev/null @@ -1,6 +0,0 @@ -CMP0053 -------- - -* The :manual:`cmake-language(7)` syntax for :ref:`Variable References` and - :ref:`Escape Sequences` was simplified in order to allow a much faster - implementation. See policy :policy:`CMP0053`. diff --git a/Help/release/dev/CMakeDetermineVSServicePack.rst b/Help/release/dev/CMakeDetermineVSServicePack.rst deleted file mode 100644 index d9d7b41..0000000 --- a/Help/release/dev/CMakeDetermineVSServicePack.rst +++ /dev/null @@ -1,6 +0,0 @@ -CMakeDetermineVSServicePack ---------------------------- - -* The :module:`CMakeDetermineVSServicePack` module now warns that - it is deprecated and should not longer be used. Use the - :variable:`CMAKE__COMPILER_VERSION` variable instead. diff --git a/Help/release/dev/CMakePackageConfigHelpers-INSTALL_PREFIX.rst b/Help/release/dev/CMakePackageConfigHelpers-INSTALL_PREFIX.rst deleted file mode 100644 index da8d7c3..0000000 --- a/Help/release/dev/CMakePackageConfigHelpers-INSTALL_PREFIX.rst +++ /dev/null @@ -1,7 +0,0 @@ -CMakePackageConfigHelpers-INSTALL_PREFIX ----------------------------------------- - -* The :module:`CMakePackageConfigHelpers` module - :command:`configure_package_config_file` command learned a new - ``INSTALL_PREFIX`` option to generate package configuration files - meant for a prefix other than :variable:`CMAKE_INSTALL_PREFIX`. diff --git a/Help/release/dev/ExternalData-missing-not-fatal.rst b/Help/release/dev/ExternalData-missing-not-fatal.rst deleted file mode 100644 index e9f1f04..0000000 --- a/Help/release/dev/ExternalData-missing-not-fatal.rst +++ /dev/null @@ -1,8 +0,0 @@ -ExternalData-missing-not-fatal ------------------------------- - -* The :module:`ExternalData` module learned to tolerate a ``DATA{}`` - reference to a missing source file with a warning instead of - rejecting it with an error. This helps developers write new - ``DATA{}`` references to test reference outputs that have not - yet been created. diff --git a/Help/release/dev/ExternalProject-BUILD_ALWAYS.rst b/Help/release/dev/ExternalProject-BUILD_ALWAYS.rst deleted file mode 100644 index 5384671..0000000 --- a/Help/release/dev/ExternalProject-BUILD_ALWAYS.rst +++ /dev/null @@ -1,6 +0,0 @@ -ExternalProject-BUILD_ALWAYS ----------------------------- - -* The :module:`ExternalProject` module ``ExternalProject_Add`` command - learned a new ``BUILD_ALWAYS`` option to cause the external project - build step to run every time the host project is built. diff --git a/Help/release/dev/ExternalProject-add-lzma.rst b/Help/release/dev/ExternalProject-add-lzma.rst deleted file mode 100644 index cb398ef..0000000 --- a/Help/release/dev/ExternalProject-add-lzma.rst +++ /dev/null @@ -1,5 +0,0 @@ -ExternalProject-add-lzma ------------------------- - -* The :module:`ExternalProject` module learned to support lzma-compressed - source tarballs with ``.7z``, ``.tar.xz``, and ``.txz`` extensions. diff --git a/Help/release/dev/ExternalProject-no-download-progress.rst b/Help/release/dev/ExternalProject-no-download-progress.rst deleted file mode 100644 index 41db55d..0000000 --- a/Help/release/dev/ExternalProject-no-download-progress.rst +++ /dev/null @@ -1,6 +0,0 @@ -ExternalProject-no-download-progress ------------------------------------- - -* The :module:`ExternalProject` module ``ExternalProject_Add`` command - learned a new ``DOWNLOAD_NO_PROGRESS`` option to disable progress - output while downloading the source tarball. diff --git a/Help/release/dev/ExternalProject_exclude-from-all.rst b/Help/release/dev/ExternalProject_exclude-from-all.rst deleted file mode 100644 index 1d62b3a..0000000 --- a/Help/release/dev/ExternalProject_exclude-from-all.rst +++ /dev/null @@ -1,11 +0,0 @@ -ExternalProject_exclude-from-all --------------------------------- - -* The :module:`ExternalProject` module ``ExternalProject_Add`` command - learned a new ``EXCLUDE_FROM_ALL`` option to cause the external - project target to have the :prop_tgt:`EXCLUDE_FROM_ALL` target - property set. - -* The :module:`ExternalProject` module ``ExternalProject_Add_Step`` command - learned a new ``EXCLUDE_FROM_MAIN`` option to cause the step to not be - a direct dependency of the main external project target. diff --git a/Help/release/dev/FeatureSummary_combine_WHAT_values.rst b/Help/release/dev/FeatureSummary_combine_WHAT_values.rst deleted file mode 100644 index 174ef15..0000000 --- a/Help/release/dev/FeatureSummary_combine_WHAT_values.rst +++ /dev/null @@ -1,6 +0,0 @@ -FeatureSummary_combine_WHAT_values ----------------------------------- - -* The :module:`FeatureSummary` module ``feature_summary`` API - learned to accept multiple values for the ``WHAT`` option and - combine them appropriately. diff --git a/Help/release/dev/FindCUDA-cubin-fatbin.rst b/Help/release/dev/FindCUDA-cubin-fatbin.rst deleted file mode 100644 index d44da8e..0000000 --- a/Help/release/dev/FindCUDA-cubin-fatbin.rst +++ /dev/null @@ -1,5 +0,0 @@ -FindCUDA-cubin-fatbin ---------------------- - -* The :module:`FindCUDA` module learned to support ``fatbin`` and ``cubin`` - modules. diff --git a/Help/release/dev/FindGTest-AUTO-SOURCES.rst b/Help/release/dev/FindGTest-AUTO-SOURCES.rst deleted file mode 100644 index 17b2a1b..0000000 --- a/Help/release/dev/FindGTest-AUTO-SOURCES.rst +++ /dev/null @@ -1,7 +0,0 @@ -FindGTest-AUTO-SOURCES ----------------------- - -* The :module:`FindGTest` module ``gtest_add_tests`` macro learned - a new ``AUTO`` option to automatically read the :prop_tgt:`SOURCES` - target property of the test executable and scan the source files - for tests to be added. diff --git a/Help/release/dev/FindHg-WC_INFO.rst b/Help/release/dev/FindHg-WC_INFO.rst deleted file mode 100644 index 0caf2b3..0000000 --- a/Help/release/dev/FindHg-WC_INFO.rst +++ /dev/null @@ -1,5 +0,0 @@ -FindHg-WC_INFO --------------- - -* The :module:`FindHg` module gained a new ``Hg_WC_INFO`` macro to - help run ``hg`` to extract information about a Mercurial work copy. diff --git a/Help/release/dev/FindOpenGL-target.rst b/Help/release/dev/FindOpenGL-target.rst deleted file mode 100644 index 670507e..0000000 --- a/Help/release/dev/FindOpenGL-target.rst +++ /dev/null @@ -1,5 +0,0 @@ -FindOpenGL-target ------------------ - -* The :module:`FindOpenGL` module now provides imported targets - ``OpenGL::GL`` and ``OpenGL::GLU`` when the libraries are found. diff --git a/Help/release/dev/FindOpenMP-add-Fortran-support.rst b/Help/release/dev/FindOpenMP-add-Fortran-support.rst deleted file mode 100644 index 0205718..0000000 --- a/Help/release/dev/FindOpenMP-add-Fortran-support.rst +++ /dev/null @@ -1,4 +0,0 @@ -FindOpenMP-add-Fortran-support ------------------------------- - -* The :module:`FindOpenMP` module learned to support Fortran. diff --git a/Help/release/dev/FindPkgConfig-PKG_CONFIG.rst b/Help/release/dev/FindPkgConfig-PKG_CONFIG.rst deleted file mode 100644 index c0f6471..0000000 --- a/Help/release/dev/FindPkgConfig-PKG_CONFIG.rst +++ /dev/null @@ -1,5 +0,0 @@ -FindPkgConfig-PKG_CONFIG ------------------------- - -* The :module:`FindPkgConfig` module learned to use the ``PKG_CONFIG`` - environment variable value as the ``pkg-config`` executable, if set. diff --git a/Help/release/dev/FindVTK.rst b/Help/release/dev/FindVTK.rst deleted file mode 100644 index 1cc9fc4..0000000 --- a/Help/release/dev/FindVTK.rst +++ /dev/null @@ -1,6 +0,0 @@ -FindVTK -------- - -* The :module:`FindVTK` module dropped support for finding VTK 4.0. - It is now a thin-wrapper around ``find_package(VTK ... NO_MODULE)``. - This produces much clearer error messages when VTK is not found. diff --git a/Help/release/dev/InstallRequiredSystemLibraries-vs-openmp.rst b/Help/release/dev/InstallRequiredSystemLibraries-vs-openmp.rst deleted file mode 100644 index 4f8f962..0000000 --- a/Help/release/dev/InstallRequiredSystemLibraries-vs-openmp.rst +++ /dev/null @@ -1,6 +0,0 @@ -InstallRequiredSystemLibraries-vs-openmp ----------------------------------------- - -* The :module:`InstallRequiredSystemLibraries` module gained a new - ``CMAKE_INSTALL_OPENMP_LIBRARIES`` option to install MSVC OpenMP - runtime libraries. diff --git a/Help/release/dev/OpenWatcom.rst b/Help/release/dev/OpenWatcom.rst deleted file mode 100644 index 63f6e8c..0000000 --- a/Help/release/dev/OpenWatcom.rst +++ /dev/null @@ -1,9 +0,0 @@ -OpenWatcom ----------- - -* Support for the Open Watcom compiler has been overhauled. - The :variable:`CMAKE__COMPILER_ID` is now ``OpenWatcom``, - and the :variable:`CMAKE__COMPILER_VERSION` now uses - the Open Watcom external version numbering. The external - version numbers are lower than the internal version number - by 11. diff --git a/Help/release/dev/UseSWIG-guess_module_name.rst b/Help/release/dev/UseSWIG-guess_module_name.rst deleted file mode 100644 index c895046..0000000 --- a/Help/release/dev/UseSWIG-guess_module_name.rst +++ /dev/null @@ -1,6 +0,0 @@ -UseSWIG-guess_module_name -------------------------- - -* The :module:`UseSWIG` module learned to detect the module name - from ``.i`` source files if possible to avoid the need to set - the ``SWIG_MODULE_NAME`` source file property explicitly. diff --git a/Help/release/dev/add-CheckFortranSourceCompiles.rst b/Help/release/dev/add-CheckFortranSourceCompiles.rst deleted file mode 100644 index b78c747..0000000 --- a/Help/release/dev/add-CheckFortranSourceCompiles.rst +++ /dev/null @@ -1,5 +0,0 @@ -add-CheckFortranSourceCompiles ------------------------------- - -* The :module:`CheckFortranSourceCompiles` module was added to - provide a ``CHECK_Fortran_SOURCE_COMPILES`` macro. diff --git a/Help/release/dev/add-FindOpenCL.rst b/Help/release/dev/add-FindOpenCL.rst deleted file mode 100644 index e1e30d1..0000000 --- a/Help/release/dev/add-FindOpenCL.rst +++ /dev/null @@ -1,4 +0,0 @@ -add-FindOpenCL --------------- - -* The :module:`FindOpenCL` module was introduced. diff --git a/Help/release/dev/add-liblzma.rst b/Help/release/dev/add-liblzma.rst deleted file mode 100644 index a59ec09..0000000 --- a/Help/release/dev/add-liblzma.rst +++ /dev/null @@ -1,5 +0,0 @@ -add-liblzma ------------ - -* The :manual:`cmake(1)` ``-E tar`` command learned to support - lzma-compressed files. diff --git a/Help/release/dev/add_custom_command-DEPENDS-genex.rst b/Help/release/dev/add_custom_command-DEPENDS-genex.rst deleted file mode 100644 index 1e528e6..0000000 --- a/Help/release/dev/add_custom_command-DEPENDS-genex.rst +++ /dev/null @@ -1,5 +0,0 @@ -add_custom_command-DEPENDS-genex --------------------------------- - -* The :command:`add_custom_command` command learned to interpret - :manual:`cmake-generator-expressions(7)` in arguments to ``DEPENDS``. diff --git a/Help/release/dev/allow-OBJECT-library-extra-sources.rst b/Help/release/dev/allow-OBJECT-library-extra-sources.rst deleted file mode 100644 index 472fcdc..0000000 --- a/Help/release/dev/allow-OBJECT-library-extra-sources.rst +++ /dev/null @@ -1,6 +0,0 @@ -allow-OBJECT-library-extra-sources ----------------------------------- - -* :ref:`Object Libraries` may now have extra sources that do not - compile to object files so long as they would not affect linking - of a normal library (e.g. ``.dat`` is okay but not ``.def``). diff --git a/Help/release/dev/cmake-E-env.rst b/Help/release/dev/cmake-E-env.rst deleted file mode 100644 index 4bdcd0c..0000000 --- a/Help/release/dev/cmake-E-env.rst +++ /dev/null @@ -1,4 +0,0 @@ -cmake-E-env ------------ - -* The :manual:`cmake(1)` ``-E`` option learned a new ``env`` command. diff --git a/Help/release/dev/cmake-gui-capture-output.rst b/Help/release/dev/cmake-gui-capture-output.rst deleted file mode 100644 index 40cd25e..0000000 --- a/Help/release/dev/cmake-gui-capture-output.rst +++ /dev/null @@ -1,6 +0,0 @@ -cmake-gui-capture-output ------------------------- - -* The :manual:`cmake-gui(1)` learned to capture output from child - processes started by the :command:`execute_process` command - and display it in the output window. diff --git a/Help/release/dev/compile-language-features.rst b/Help/release/dev/compile-language-features.rst deleted file mode 100644 index d10e22b..0000000 --- a/Help/release/dev/compile-language-features.rst +++ /dev/null @@ -1,28 +0,0 @@ -target-language-features ------------------------- - -* New :prop_tgt:`CXX_STANDARD` and :prop_tgt:`CXX_EXTENSIONS` target - properties may specify values which CMake uses to compute required - compile options such as ``-std=c++11`` or ``-std=gnu++11``. The - :variable:`CMAKE_CXX_STANDARD` and :variable:`CMAKE_CXX_EXTENSIONS` - variables may be set to initialize the target properties. - -* New :prop_tgt:`C_STANDARD` and :prop_tgt:`C_EXTENSIONS` target - properties may specify values which CMake uses to compute required - compile options such as ``-std=c11`` or ``-std=gnu11``. The - :variable:`CMAKE_C_STANDARD` and :variable:`CMAKE_C_EXTENSIONS` - variables may be set to initialize the target properties. - -* New :prop_tgt:`COMPILE_FEATURES` target property may contain a list - of features required to compile a target. CMake uses this - information to ensure that the compiler in use is capable of building - the target, and to add any necessary compile flags to support language - features. - -* New :command:`target_compile_features` command allows populating the - :prop_tgt:`COMPILE_FEATURES` target property, just like any other - build variable. - -* New ``COMPILE_FEATURES`` - :manual:`generator expression ` allows - setting build properties based on available compiler features. diff --git a/Help/release/dev/cpack-add-lzma.rst b/Help/release/dev/cpack-add-lzma.rst deleted file mode 100644 index ad59f35..0000000 --- a/Help/release/dev/cpack-add-lzma.rst +++ /dev/null @@ -1,5 +0,0 @@ -cpack-add-lzma --------------- - -* :manual:`cpack(1)` gained ``7Z`` and ``TXZ`` generators supporting - lzma-compressed archives. diff --git a/Help/release/dev/cpack-deb-compression-types.rst b/Help/release/dev/cpack-deb-compression-types.rst deleted file mode 100644 index a33e333..0000000 --- a/Help/release/dev/cpack-deb-compression-types.rst +++ /dev/null @@ -1,6 +0,0 @@ -cpack-deb-compression-types ---------------------------- - -* The :module:`CPackDeb` module learned a new - :variable:`CPACK_DEBIAN_COMPRESSION_TYPE` variable to set the - tarball compression type. diff --git a/Help/release/dev/cpack-ifw-generator.rst b/Help/release/dev/cpack-ifw-generator.rst deleted file mode 100644 index f667136..0000000 --- a/Help/release/dev/cpack-ifw-generator.rst +++ /dev/null @@ -1,5 +0,0 @@ -cpack-ifw-generator -------------------- - -* :manual:`cpack(1)` gained an ``IFW`` generator to package using - Qt Framework Installer tools. See the :module:`CPackIFW` module. diff --git a/Help/release/dev/ctest-coverage-extra.rst b/Help/release/dev/ctest-coverage-extra.rst deleted file mode 100644 index 85d023b..0000000 --- a/Help/release/dev/ctest-coverage-extra.rst +++ /dev/null @@ -1,5 +0,0 @@ -ctest-coverage-extra --------------------- - -* The :command:`ctest_coverage` command learned to read variable - ``CTEST_COVERAGE_EXTRA_FLAGS`` to set ``CoverageExtraFlags``. diff --git a/Help/release/dev/ctest-intel-coverage.rst b/Help/release/dev/ctest-intel-coverage.rst deleted file mode 100644 index 11455a5..0000000 --- a/Help/release/dev/ctest-intel-coverage.rst +++ /dev/null @@ -1,5 +0,0 @@ -ctest-intel-coverage --------------------- - -* The :command:`ctest_coverage` command learned to support - Intel coverage files with the ``codecov`` tool. diff --git a/Help/release/dev/ctest-memcheck-sanitizers.rst b/Help/release/dev/ctest-memcheck-sanitizers.rst deleted file mode 100644 index fa8fb81..0000000 --- a/Help/release/dev/ctest-memcheck-sanitizers.rst +++ /dev/null @@ -1,8 +0,0 @@ -ctest-memcheck-sanitizers -------------------------- - -* The :command:`ctest_memcheck` command learned to support sanitizer - modes, including ``AddressSanitizer``, ``MemorySanitizer``, - ``ThreadSanitizer``, and ``UndefinedBehaviorSanitizer``. - Options may be set using the new - :variable:`CTEST_MEMORYCHECK_SANITIZER_OPTIONS` variable. diff --git a/Help/release/dev/custom-ninja-deptypes.rst b/Help/release/dev/custom-ninja-deptypes.rst deleted file mode 100644 index 7750da8..0000000 --- a/Help/release/dev/custom-ninja-deptypes.rst +++ /dev/null @@ -1,5 +0,0 @@ -custom-ninja-deptypes ---------------------- - -* Add a `CMAKE_NINJA_DEPTYPE_` variable so that compilers may set the - deptype for use in Ninja other than those CMake itself knows about. diff --git a/Help/release/dev/delay-generator-toolset.rst b/Help/release/dev/delay-generator-toolset.rst deleted file mode 100644 index 0512834..0000000 --- a/Help/release/dev/delay-generator-toolset.rst +++ /dev/null @@ -1,8 +0,0 @@ -delay-generator-toolset ------------------------ - -* The :variable:`CMAKE_GENERATOR_TOOLSET` variable may now be - initialized in a toolchain file specified by the - :variable:`CMAKE_TOOLCHAIN_FILE` variable. This is useful - when cross-compiling with the Xcode or Visual Studio - generators. diff --git a/Help/release/dev/export-from-obj-libs.rst b/Help/release/dev/export-from-obj-libs.rst deleted file mode 100644 index 6d58288..0000000 --- a/Help/release/dev/export-from-obj-libs.rst +++ /dev/null @@ -1,5 +0,0 @@ -export-from-obj-libs --------------------- - -* The :module:`GenerateExportHeader` module ``generate_export_header`` - function learned to allow use with :ref:`Object Libraries`. diff --git a/Help/release/dev/faster-parsers.rst b/Help/release/dev/faster-parsers.rst deleted file mode 100644 index c2a8bfb..0000000 --- a/Help/release/dev/faster-parsers.rst +++ /dev/null @@ -1,6 +0,0 @@ -faster-parsers --------------- - -* The :manual:`cmake-language(7)` internal implementation of generator - expression and list expansion parsers have been optimized and shows - non-trivial speedup on large projects. diff --git a/Help/release/dev/file-strings-encoding.rst b/Help/release/dev/file-strings-encoding.rst deleted file mode 100644 index 9da3e47..0000000 --- a/Help/release/dev/file-strings-encoding.rst +++ /dev/null @@ -1,5 +0,0 @@ -file-strings-encoding ---------------------- - -* The :command:`file(STRINGS)` command gained a new ``ENCODING`` - option to enable extraction of ``UTF-8`` strings. diff --git a/Help/release/dev/find-module-targets.rst b/Help/release/dev/find-module-targets.rst deleted file mode 100644 index 98ea283..0000000 --- a/Help/release/dev/find-module-targets.rst +++ /dev/null @@ -1,8 +0,0 @@ -find-module-targets -------------------- - -* The :module:`FindGLUT` module now provides imported targets. - -* The :module:`FindGLEW` module now provides imported targets. - -* The :module:`FindZLIB` module now provides imported targets. diff --git a/Help/release/dev/fix-OSX-bundle-rpaths-and-Qt5.rst b/Help/release/dev/fix-OSX-bundle-rpaths-and-Qt5.rst deleted file mode 100644 index c8246c5..0000000 --- a/Help/release/dev/fix-OSX-bundle-rpaths-and-Qt5.rst +++ /dev/null @@ -1,6 +0,0 @@ -fix-OSX-bundle-rpaths-and-Qt5 ------------------------------ - -* The :module:`BundleUtilities` module learned to resolve and replace - ``@rpath`` placeholders on OS X to correctly bundle applications - using them. diff --git a/Help/release/dev/generalize-LINK_ONLY.rst b/Help/release/dev/generalize-LINK_ONLY.rst deleted file mode 100644 index 6dccbd5..0000000 --- a/Help/release/dev/generalize-LINK_ONLY.rst +++ /dev/null @@ -1,6 +0,0 @@ -generalize-LINK_ONLY --------------------- - -* The :prop_tgt:`INTERFACE_LINK_LIBRARIES` target property now supports - a ``$`` - :manual:`generator expression `. diff --git a/Help/release/dev/if-sanity.rst b/Help/release/dev/if-sanity.rst deleted file mode 100644 index 6645bc4..0000000 --- a/Help/release/dev/if-sanity.rst +++ /dev/null @@ -1,6 +0,0 @@ -if-sanity ---------- - -* The :command:`if` command no longer automatically dereferences - variables named in quoted or bracket arguments. See policy - :policy:`CMP0054`. diff --git a/Help/release/dev/install-messages.rst b/Help/release/dev/install-messages.rst deleted file mode 100644 index e023ef7..0000000 --- a/Help/release/dev/install-messages.rst +++ /dev/null @@ -1,8 +0,0 @@ -install-messages ----------------- - -* The :command:`install` command learned a ``MESSAGE_NEVER`` option - to avoid output during installation. - -* The :variable:`CMAKE_INSTALL_MESSAGE` variable was introduced to - optionally reduce output installation. diff --git a/Help/release/dev/link-libraries-response-files.rst b/Help/release/dev/link-libraries-response-files.rst deleted file mode 100644 index cecf7f6..0000000 --- a/Help/release/dev/link-libraries-response-files.rst +++ /dev/null @@ -1,5 +0,0 @@ -link-libraries-response-files ------------------------------ - -* The Makefile generators learned to use response files with GNU tools - on Windows to pass library directories and names to the linker. diff --git a/Help/release/dev/link-line-dedup.rst b/Help/release/dev/link-line-dedup.rst deleted file mode 100644 index 6ce31e3..0000000 --- a/Help/release/dev/link-line-dedup.rst +++ /dev/null @@ -1,5 +0,0 @@ -link-line-dedup ---------------- - -* When generating linker command-lines, CMake now avoids repeating - items corresponding to SHARED library targets. diff --git a/Help/release/dev/module-WriteCompilerDetectionHeader.rst b/Help/release/dev/module-WriteCompilerDetectionHeader.rst deleted file mode 100644 index 10e7b86..0000000 --- a/Help/release/dev/module-WriteCompilerDetectionHeader.rst +++ /dev/null @@ -1,5 +0,0 @@ -module-WriteCompilerDetectionHeader ------------------------------------ - -* The :module:`WriteCompilerDetectionHeader` module was added to allow - creation of a portable header file for compiler optional feature detection. diff --git a/Help/release/dev/msvc-compiler-pdb-files.rst b/Help/release/dev/msvc-compiler-pdb-files.rst deleted file mode 100644 index d06d202..0000000 --- a/Help/release/dev/msvc-compiler-pdb-files.rst +++ /dev/null @@ -1,10 +0,0 @@ -msvc-compiler-pdb-files ------------------------ - -* New :prop_tgt:`COMPILE_PDB_NAME` and - :prop_tgt:`COMPILE_PDB_OUTPUT_DIRECTORY` target properties - were introduced to specify the MSVC compiler program database - file location (``cl /Fd``). This complements the existing - :prop_tgt:`PDB_NAME` and :prop_tgt:`PDB_OUTPUT_DIRECTORY` - target properties that specify the linker program database - file location (``link /pdb``). diff --git a/Help/release/dev/note-link-libraries-genex.rst b/Help/release/dev/note-link-libraries-genex.rst deleted file mode 100644 index acb60eb..0000000 --- a/Help/release/dev/note-link-libraries-genex.rst +++ /dev/null @@ -1,22 +0,0 @@ -note-link-libraries-genex -------------------------- - -* In CMake 3.0 the :command:`target_link_libraries` command - accidentally began allowing unquoted arguments to use - :manual:`generator expressions ` - containing a (``;`` separated) list within them. For example:: - - set(libs B C) - target_link_libraries(A PUBLIC $) - - This is equivalent to writing:: - - target_link_libraries(A PUBLIC $) - - and was never intended to work. It did not work in CMake 2.8.12. - Such generator expressions should be in quoted arguments:: - - set(libs B C) - target_link_libraries(A PUBLIC "$") - - CMake 3.1 again requires the quotes for this to work correctly. diff --git a/Help/release/dev/package-disable-registry.rst b/Help/release/dev/package-disable-registry.rst deleted file mode 100644 index 1b23fde..0000000 --- a/Help/release/dev/package-disable-registry.rst +++ /dev/null @@ -1,11 +0,0 @@ -package-disable-registry ------------------------- - -* The :command:`export(PACKAGE)` command learned to check the - :variable:`CMAKE_EXPORT_NO_PACKAGE_REGISTRY` variable to skip - exporting the package. - -* The :command:`find_package` command learned to check the - :variable:`CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY` and - :variable:`CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY` - variables to skip searching the package registries. diff --git a/Help/release/dev/string-GENEX_STRIP.rst b/Help/release/dev/string-GENEX_STRIP.rst deleted file mode 100644 index b5b1074..0000000 --- a/Help/release/dev/string-GENEX_STRIP.rst +++ /dev/null @@ -1,6 +0,0 @@ -string-GENEX_STRIP ------------------- - -* The :command:`string` command learned a new ``GENEX_STRIP`` subcommand - which removes - :manual:`generator expression `. diff --git a/Help/release/dev/string-uuid.rst b/Help/release/dev/string-uuid.rst deleted file mode 100644 index dacf9a8..0000000 --- a/Help/release/dev/string-uuid.rst +++ /dev/null @@ -1,5 +0,0 @@ -string-uuid ------------ - -* The :command:`string` command learned a new ``UUID`` subcommand - to generate a univerally unique identifier. diff --git a/Help/release/dev/target-INTERFACE_SOURCES.rst b/Help/release/dev/target-INTERFACE_SOURCES.rst deleted file mode 100644 index 4e34943..0000000 --- a/Help/release/dev/target-INTERFACE_SOURCES.rst +++ /dev/null @@ -1,5 +0,0 @@ -target-INTERFACE_SOURCES ------------------------- - -* A new :prop_tgt:`INTERFACE_SOURCES` target property was introduced. This is - consumed by dependent targets, which compile and link the listed sources. diff --git a/Help/release/dev/target-SOURCES-genex.rst b/Help/release/dev/target-SOURCES-genex.rst deleted file mode 100644 index 9a65101..0000000 --- a/Help/release/dev/target-SOURCES-genex.rst +++ /dev/null @@ -1,12 +0,0 @@ -target-SOURCES-genex --------------------- - -* The :prop_tgt:`SOURCES` target property now contains - :manual:`generator expression ` - such as ``TARGET_OBJECTS`` when read at configure time, if - policy :policy:`CMP0051` is ``NEW``. - -* The :prop_tgt:`SOURCES` target property now generally supports - :manual:`generator expression `. The - generator expressions may be used in the :command:`add_library` and - :command:`add_executable` commands. diff --git a/Help/release/dev/target-SOURCES-write.rst b/Help/release/dev/target-SOURCES-write.rst deleted file mode 100644 index a754a73..0000000 --- a/Help/release/dev/target-SOURCES-write.rst +++ /dev/null @@ -1,6 +0,0 @@ -target-SOURCES-write.rst ------------------------- - -* It is now possible to write and append to the :prop_tgt:`SOURCES` target - property. The :variable:`CMAKE_DEBUG_TARGET_PROPERTIES` variable may be - used to trace the origin of sources. diff --git a/Help/release/dev/target_sources-command.rst b/Help/release/dev/target_sources-command.rst deleted file mode 100644 index abfb303..0000000 --- a/Help/release/dev/target_sources-command.rst +++ /dev/null @@ -1,5 +0,0 @@ -target_sources-command ----------------------- - -* The :command:`target_sources` command was added to add to the - :prop_tgt:`SOURCES` target property. diff --git a/Help/release/dev/variable_watch-no-allowed-access.rst b/Help/release/dev/variable_watch-no-allowed-access.rst deleted file mode 100644 index ba7b4a5..0000000 --- a/Help/release/dev/variable_watch-no-allowed-access.rst +++ /dev/null @@ -1,8 +0,0 @@ -variable_watch-no-allowed-access --------------------------------- - -* Callbacks established by the :command:`variable_watch` command will no - longer receive the ``ALLOWED_UNKNOWN_READ_ACCESS`` access type when - the undocumented ``CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS`` variable is - set. Uninitialized variable accesses will always be reported as - ``UNKNOWN_READ_ACCESS``. diff --git a/Help/release/dev/vs-generator-platform.rst b/Help/release/dev/vs-generator-platform.rst deleted file mode 100644 index cf2090b..0000000 --- a/Help/release/dev/vs-generator-platform.rst +++ /dev/null @@ -1,9 +0,0 @@ -vs-generator-platform ---------------------- - -* The Visual Studio generators for versions 8 (2005) and above - learned to read the target platform name from a new - :variable:`CMAKE_GENERATOR_PLATFORM` variable when it is - not specified as part of the generator name. The platform - name may be specified on the :manual:`cmake(1)` command line - with the ``-A`` option, e.g. ``-G "Visual Studio 12 2013" -A x64``. diff --git a/Help/release/dev/vs-masm.rst b/Help/release/dev/vs-masm.rst deleted file mode 100644 index d7a19d0..0000000 --- a/Help/release/dev/vs-masm.rst +++ /dev/null @@ -1,5 +0,0 @@ -vs-masm -------- - -* Visual Studio generators for VS 8 and later learned to support - the ``ASM_MASM`` language. diff --git a/Help/release/dev/vs-nsight-tegra-generator.rst b/Help/release/dev/vs-nsight-tegra-generator.rst deleted file mode 100644 index 92f4236..0000000 --- a/Help/release/dev/vs-nsight-tegra-generator.rst +++ /dev/null @@ -1,8 +0,0 @@ -vs-nsight-tegra-generator -------------------------- - -* Generators for Visual Studio 10 (2010) and above learned to generate - projects for NVIDIA Nsight Tegra Visual Studio Edition. One may set - the :variable:`CMAKE_SYSTEM_NAME` variable to ``Android`` on the - :manual:`cmake(1)` command-line or in a :variable:`CMAKE_TOOLCHAIN_FILE` - to activate this platform. diff --git a/Help/release/dev/vs-special-source-file-properties.rst b/Help/release/dev/vs-special-source-file-properties.rst deleted file mode 100644 index 166c4b3..0000000 --- a/Help/release/dev/vs-special-source-file-properties.rst +++ /dev/null @@ -1,11 +0,0 @@ -vs-special-source-file-properties ---------------------------------- - -* A :prop_sf:`VS_DEPLOYMENT_CONTENT` source file property was added - to tell the Visual Studio generators to mark content for deployment - in Windows Phone and Windows Store projects. - -* The Visual Studio generators learned to treat ``.hlsl`` source - files as High Level Shading Language sources (using ``FXCompile`` - in ``.vcxproj`` files). A :prop_sf:`VS_SHADER_TYPE` source file - property was added to specify the Shader Type. diff --git a/Help/release/dev/vs-windows-apps.rst b/Help/release/dev/vs-windows-apps.rst deleted file mode 100644 index 63dae28..0000000 --- a/Help/release/dev/vs-windows-apps.rst +++ /dev/null @@ -1,6 +0,0 @@ -vs-windows-apps ---------------- - -* The :prop_tgt:`VS_WINRT_COMPONENT` target property was created to - tell Visual Studio generators to compile a shared library as a - Windows Runtime (WinRT) component. diff --git a/Help/release/dev/vs-windows-phone-and-store.rst b/Help/release/dev/vs-windows-phone-and-store.rst deleted file mode 100644 index b44e276..0000000 --- a/Help/release/dev/vs-windows-phone-and-store.rst +++ /dev/null @@ -1,10 +0,0 @@ -vs-windows-phone-and-store --------------------------- - -* Generators for Visual Studio 11 (2012) and above learned to generate - projects for Windows Phone and Windows Store. One may set the - :variable:`CMAKE_SYSTEM_NAME` variable to ``WindowsPhone`` - or ``WindowsStore`` on the :manual:`cmake(1)` command-line - or in a :variable:`CMAKE_TOOLCHAIN_FILE` to activate these platforms. - Also set :variable:`CMAKE_SYSTEM_VERSION` to ``8.0`` or ``8.1`` to - specify the version of Windows to be targeted. diff --git a/Help/release/dev/vs14-generator.rst b/Help/release/dev/vs14-generator.rst deleted file mode 100644 index 0bda236..0000000 --- a/Help/release/dev/vs14-generator.rst +++ /dev/null @@ -1,4 +0,0 @@ -vs14-generator --------------- - -* A :generator:`Visual Studio 14` generator was added. diff --git a/Help/release/dev/wix-acl.rst b/Help/release/dev/wix-acl.rst deleted file mode 100644 index bf146d0..0000000 --- a/Help/release/dev/wix-acl.rst +++ /dev/null @@ -1,6 +0,0 @@ -wix-acl -------- - -* The :manual:`cpack(1)` ``WiX`` generator learned to support - a :prop_inst:`CPACK_WIX_ACL` installed file property to - specify an Access Control List. diff --git a/Help/release/dev/xcode-file-type.rst b/Help/release/dev/xcode-file-type.rst deleted file mode 100644 index 6f637f7..0000000 --- a/Help/release/dev/xcode-file-type.rst +++ /dev/null @@ -1,7 +0,0 @@ -xcode-file-type ---------------- - -* The :generator:`Xcode` generator learned to check source - file properties :prop_sf:`XCODE_EXPLICIT_FILE_TYPE` and - :prop_sf:`XCODE_LAST_KNOWN_FILE_TYPE` for a custom Xcode - file reference type. diff --git a/Help/release/index.rst b/Help/release/index.rst index 15ce065..abc19b8 100644 --- a/Help/release/index.rst +++ b/Help/release/index.rst @@ -13,4 +13,5 @@ Releases .. toctree:: :maxdepth: 1 + 3.1.0 <3.1.0> 3.0.0 <3.0.0> -- cgit v0.12 From 856ee6be66192a35f856a7dd0e4757e404e16cc0 Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 10 Oct 2014 15:43:57 -0400 Subject: Help: Organize 3.1 release notes Add section headers similar to the 3.0 release notes and move each individual bullet into an appropriate section. Highlight the new VS generator capabilities for Windows Phone, Windows Store, and NVIDIA Nsight Tegra with dedicated subsections. --- Help/release/3.1.0.rst | 412 +++++++++++++++++++++++++++---------------------- 1 file changed, 231 insertions(+), 181 deletions(-) diff --git a/Help/release/3.1.0.rst b/Help/release/3.1.0.rst index 64ad4e2..652bcd3 100644 --- a/Help/release/3.1.0.rst +++ b/Help/release/3.1.0.rst @@ -7,43 +7,107 @@ CMake 3.1.0 Release Notes Changes made since CMake 3.0.0 include the following. -* The :module:`CheckFortranSourceCompiles` module was added to - provide a ``CHECK_Fortran_SOURCE_COMPILES`` macro. +Documentation Changes +===================== -* The :command:`add_custom_command` command learned to interpret - :manual:`cmake-generator-expressions(7)` in arguments to ``DEPENDS``. +* A new :manual:`cmake-compile-features(7)` manual was added. -* The :module:`FindOpenCL` module was introduced. +New Features +============ -* The :manual:`cmake(1)` ``-E tar`` command learned to support - lzma-compressed files. +Generators +---------- -* :ref:`Object Libraries` may now have extra sources that do not - compile to object files so long as they would not affect linking - of a normal library (e.g. ``.dat`` is okay but not ``.def``). +* A :generator:`Visual Studio 14` generator was added. -* The :module:`CMakeDetermineVSServicePack` module now warns that - it is deprecated and should not longer be used. Use the - :variable:`CMAKE__COMPILER_VERSION` variable instead. +Windows Phone and Windows Store +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -* The :manual:`cmake(1)` ``-E`` option learned a new ``env`` command. +* Generators for Visual Studio 11 (2012) and above learned to generate + projects for Windows Phone and Windows Store. One may set the + :variable:`CMAKE_SYSTEM_NAME` variable to ``WindowsPhone`` + or ``WindowsStore`` on the :manual:`cmake(1)` command-line + or in a :variable:`CMAKE_TOOLCHAIN_FILE` to activate these platforms. + Also set :variable:`CMAKE_SYSTEM_VERSION` to ``8.0`` or ``8.1`` to + specify the version of Windows to be targeted. -* The :manual:`cmake-gui(1)` learned to capture output from child - processes started by the :command:`execute_process` command - and display it in the output window. +NVIDIA Nsight Tegra +^^^^^^^^^^^^^^^^^^^ -* The :module:`CMakePackageConfigHelpers` module - :command:`configure_package_config_file` command learned a new - ``INSTALL_PREFIX`` option to generate package configuration files - meant for a prefix other than :variable:`CMAKE_INSTALL_PREFIX`. +* Generators for Visual Studio 10 (2010) and above learned to generate + projects for NVIDIA Nsight Tegra Visual Studio Edition. One may set + the :variable:`CMAKE_SYSTEM_NAME` variable to ``Android`` on the + :manual:`cmake(1)` command-line or in a :variable:`CMAKE_TOOLCHAIN_FILE` + to activate this platform. -* Policy :policy:`CMP0052` introduced to control directories in the - :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of exported targets. +Syntax +------ * The :manual:`cmake-language(7)` syntax for :ref:`Variable References` and :ref:`Escape Sequences` was simplified in order to allow a much faster implementation. See policy :policy:`CMP0053`. +* The :command:`if` command no longer automatically dereferences + variables named in quoted or bracket arguments. See policy + :policy:`CMP0054`. + +Commands +-------- + +* The :command:`add_custom_command` command learned to interpret + :manual:`cmake-generator-expressions(7)` in arguments to ``DEPENDS``. + +* The :command:`export(PACKAGE)` command learned to check the + :variable:`CMAKE_EXPORT_NO_PACKAGE_REGISTRY` variable to skip + exporting the package. + +* The :command:`file(STRINGS)` command gained a new ``ENCODING`` + option to enable extraction of ``UTF-8`` strings. + +* The :command:`find_package` command learned to check the + :variable:`CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY` and + :variable:`CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY` + variables to skip searching the package registries. + +* The :command:`install` command learned a ``MESSAGE_NEVER`` option + to avoid output during installation. + +* The :command:`string` command learned a new ``GENEX_STRIP`` subcommand + which removes + :manual:`generator expression `. + +* The :command:`string` command learned a new ``UUID`` subcommand + to generate a univerally unique identifier. + +* New :command:`target_compile_features` command allows populating the + :prop_tgt:`COMPILE_FEATURES` target property, just like any other + build variable. + +* The :command:`target_sources` command was added to add to the + :prop_tgt:`SOURCES` target property. + +Variables +--------- + +* The Visual Studio generators for versions 8 (2005) and above + learned to read the target platform name from a new + :variable:`CMAKE_GENERATOR_PLATFORM` variable when it is + not specified as part of the generator name. The platform + name may be specified on the :manual:`cmake(1)` command line + with the ``-A`` option, e.g. ``-G "Visual Studio 12 2013" -A x64``. + +* The :variable:`CMAKE_GENERATOR_TOOLSET` variable may now be + initialized in a toolchain file specified by the + :variable:`CMAKE_TOOLCHAIN_FILE` variable. This is useful + when cross-compiling with the Xcode or Visual Studio + generators. + +* The :variable:`CMAKE_INSTALL_MESSAGE` variable was introduced to + optionally reduce output installation. + +Properties +---------- + * New :prop_tgt:`CXX_STANDARD` and :prop_tgt:`CXX_EXTENSIONS` target properties may specify values which CMake uses to compute required compile options such as ``-std=c++11`` or ``-std=gnu++11``. The @@ -62,47 +126,62 @@ Changes made since CMake 3.0.0 include the following. the target, and to add any necessary compile flags to support language features. -* New :command:`target_compile_features` command allows populating the - :prop_tgt:`COMPILE_FEATURES` target property, just like any other - build variable. +* New :prop_tgt:`COMPILE_PDB_NAME` and + :prop_tgt:`COMPILE_PDB_OUTPUT_DIRECTORY` target properties + were introduced to specify the MSVC compiler program database + file location (``cl /Fd``). This complements the existing + :prop_tgt:`PDB_NAME` and :prop_tgt:`PDB_OUTPUT_DIRECTORY` + target properties that specify the linker program database + file location (``link /pdb``). -* New ``COMPILE_FEATURES`` - :manual:`generator expression ` allows - setting build properties based on available compiler features. +* The :prop_tgt:`INTERFACE_LINK_LIBRARIES` target property now supports + a ``$`` + :manual:`generator expression `. -* :manual:`cpack(1)` gained ``7Z`` and ``TXZ`` generators supporting - lzma-compressed archives. +* A new :prop_tgt:`INTERFACE_SOURCES` target property was introduced. This is + consumed by dependent targets, which compile and link the listed sources. -* The :module:`CPackDeb` module learned a new - :variable:`CPACK_DEBIAN_COMPRESSION_TYPE` variable to set the - tarball compression type. +* The :prop_tgt:`SOURCES` target property now contains + :manual:`generator expression ` + such as ``TARGET_OBJECTS`` when read at configure time, if + policy :policy:`CMP0051` is ``NEW``. -* :manual:`cpack(1)` gained an ``IFW`` generator to package using - Qt Framework Installer tools. See the :module:`CPackIFW` module. +* The :prop_tgt:`SOURCES` target property now generally supports + :manual:`generator expression `. The + generator expressions may be used in the :command:`add_library` and + :command:`add_executable` commands. -* The :command:`ctest_coverage` command learned to read variable - ``CTEST_COVERAGE_EXTRA_FLAGS`` to set ``CoverageExtraFlags``. +* It is now possible to write and append to the :prop_tgt:`SOURCES` target + property. The :variable:`CMAKE_DEBUG_TARGET_PROPERTIES` variable may be + used to trace the origin of sources. -* The :command:`ctest_coverage` command learned to support - Intel coverage files with the ``codecov`` tool. +* A :prop_sf:`VS_DEPLOYMENT_CONTENT` source file property was added + to tell the Visual Studio generators to mark content for deployment + in Windows Phone and Windows Store projects. -* The :command:`ctest_memcheck` command learned to support sanitizer - modes, including ``AddressSanitizer``, ``MemorySanitizer``, - ``ThreadSanitizer``, and ``UndefinedBehaviorSanitizer``. - Options may be set using the new - :variable:`CTEST_MEMORYCHECK_SANITIZER_OPTIONS` variable. +* The :prop_tgt:`VS_WINRT_COMPONENT` target property was created to + tell Visual Studio generators to compile a shared library as a + Windows Runtime (WinRT) component. -* Add a `CMAKE_NINJA_DEPTYPE_` variable so that compilers may set the - deptype for use in Ninja other than those CMake itself knows about. +* The :generator:`Xcode` generator learned to check source + file properties :prop_sf:`XCODE_EXPLICIT_FILE_TYPE` and + :prop_sf:`XCODE_LAST_KNOWN_FILE_TYPE` for a custom Xcode + file reference type. -* The :variable:`CMAKE_GENERATOR_TOOLSET` variable may now be - initialized in a toolchain file specified by the - :variable:`CMAKE_TOOLCHAIN_FILE` variable. This is useful - when cross-compiling with the Xcode or Visual Studio - generators. +Modules +------- -* The :module:`GenerateExportHeader` module ``generate_export_header`` - function learned to allow use with :ref:`Object Libraries`. +* The :module:`BundleUtilities` module learned to resolve and replace + ``@rpath`` placeholders on OS X to correctly bundle applications + using them. + +* The :module:`CMakePackageConfigHelpers` module + :command:`configure_package_config_file` command learned a new + ``INSTALL_PREFIX`` option to generate package configuration files + meant for a prefix other than :variable:`CMAKE_INSTALL_PREFIX`. + +* The :module:`CheckFortranSourceCompiles` module was added to + provide a ``CHECK_Fortran_SOURCE_COMPILES`` macro. * The :module:`ExternalData` module learned to tolerate a ``DATA{}`` reference to a missing source file with a warning instead of @@ -130,17 +209,10 @@ Changes made since CMake 3.0.0 include the following. learned a new ``DOWNLOAD_NO_PROGRESS`` option to disable progress output while downloading the source tarball. -* The :manual:`cmake-language(7)` internal implementation of generator - expression and list expansion parsers have been optimized and shows - non-trivial speedup on large projects. - * The :module:`FeatureSummary` module ``feature_summary`` API learned to accept multiple values for the ``WHAT`` option and combine them appropriately. -* The :command:`file(STRINGS)` command gained a new ``ENCODING`` - option to enable extraction of ``UTF-8`` strings. - * The :module:`FindCUDA` module learned to support ``fatbin`` and ``cubin`` modules. @@ -149,14 +221,14 @@ Changes made since CMake 3.0.0 include the following. target property of the test executable and scan the source files for tests to be added. -* The :module:`FindHg` module gained a new ``Hg_WC_INFO`` macro to - help run ``hg`` to extract information about a Mercurial work copy. +* The :module:`FindGLEW` module now provides imported targets. * The :module:`FindGLUT` module now provides imported targets. -* The :module:`FindGLEW` module now provides imported targets. +* The :module:`FindHg` module gained a new ``Hg_WC_INFO`` macro to + help run ``hg`` to extract information about a Mercurial work copy. -* The :module:`FindZLIB` module now provides imported targets. +* The :module:`FindOpenCL` module was introduced. * The :module:`FindOpenGL` module now provides imported targets ``OpenGL::GL`` and ``OpenGL::GLU`` when the libraries are found. @@ -170,44 +242,89 @@ Changes made since CMake 3.0.0 include the following. It is now a thin-wrapper around ``find_package(VTK ... NO_MODULE)``. This produces much clearer error messages when VTK is not found. -* The :module:`BundleUtilities` module learned to resolve and replace - ``@rpath`` placeholders on OS X to correctly bundle applications - using them. - -* The :prop_tgt:`INTERFACE_LINK_LIBRARIES` target property now supports - a ``$`` - :manual:`generator expression `. - -* The :command:`if` command no longer automatically dereferences - variables named in quoted or bracket arguments. See policy - :policy:`CMP0054`. - -* The :command:`install` command learned a ``MESSAGE_NEVER`` option - to avoid output during installation. +* The :module:`FindZLIB` module now provides imported targets. -* The :variable:`CMAKE_INSTALL_MESSAGE` variable was introduced to - optionally reduce output installation. +* The :module:`GenerateExportHeader` module ``generate_export_header`` + function learned to allow use with :ref:`Object Libraries`. * The :module:`InstallRequiredSystemLibraries` module gained a new ``CMAKE_INSTALL_OPENMP_LIBRARIES`` option to install MSVC OpenMP runtime libraries. -* The Makefile generators learned to use response files with GNU tools - on Windows to pass library directories and names to the linker. - -* When generating linker command-lines, CMake now avoids repeating - items corresponding to SHARED library targets. +* The :module:`UseSWIG` module learned to detect the module name + from ``.i`` source files if possible to avoid the need to set + the ``SWIG_MODULE_NAME`` source file property explicitly. * The :module:`WriteCompilerDetectionHeader` module was added to allow creation of a portable header file for compiler optional feature detection. -* New :prop_tgt:`COMPILE_PDB_NAME` and - :prop_tgt:`COMPILE_PDB_OUTPUT_DIRECTORY` target properties - were introduced to specify the MSVC compiler program database - file location (``cl /Fd``). This complements the existing - :prop_tgt:`PDB_NAME` and :prop_tgt:`PDB_OUTPUT_DIRECTORY` - target properties that specify the linker program database - file location (``link /pdb``). +Generator Expressions +--------------------- + +* New ``COMPILE_FEATURES`` + :manual:`generator expression ` allows + setting build properties based on available compiler features. + +CTest +----- + +* The :command:`ctest_coverage` command learned to read variable + ``CTEST_COVERAGE_EXTRA_FLAGS`` to set ``CoverageExtraFlags``. + +* The :command:`ctest_coverage` command learned to support + Intel coverage files with the ``codecov`` tool. + +* The :command:`ctest_memcheck` command learned to support sanitizer + modes, including ``AddressSanitizer``, ``MemorySanitizer``, + ``ThreadSanitizer``, and ``UndefinedBehaviorSanitizer``. + Options may be set using the new + :variable:`CTEST_MEMORYCHECK_SANITIZER_OPTIONS` variable. + +CPack +----- + +* :manual:`cpack(1)` gained an ``IFW`` generator to package using + Qt Framework Installer tools. See the :module:`CPackIFW` module. + +* :manual:`cpack(1)` gained ``7Z`` and ``TXZ`` generators supporting + lzma-compressed archives. + +* The :module:`CPackDeb` module learned a new + :variable:`CPACK_DEBIAN_COMPRESSION_TYPE` variable to set the + tarball compression type. + +* The :manual:`cpack(1)` ``WiX`` generator learned to support + a :prop_inst:`CPACK_WIX_ACL` installed file property to + specify an Access Control List. + +Other +----- + +* The :manual:`cmake(1)` ``-E`` option learned a new ``env`` command. + +* The :manual:`cmake(1)` ``-E tar`` command learned to support + lzma-compressed files. + +* :ref:`Object Libraries` may now have extra sources that do not + compile to object files so long as they would not affect linking + of a normal library (e.g. ``.dat`` is okay but not ``.def``). + +* Visual Studio generators for VS 8 and later learned to support + the ``ASM_MASM`` language. + +* The Visual Studio generators learned to treat ``.hlsl`` source + files as High Level Shading Language sources (using ``FXCompile`` + in ``.vcxproj`` files). A :prop_sf:`VS_SHADER_TYPE` source file + property was added to specify the Shader Type. + +New Diagnostics +=============== + +* Policy :policy:`CMP0052` introduced to control directories in the + :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of exported targets. + +Deprecated and Removed Features +=============================== * In CMake 3.0 the :command:`target_link_libraries` command accidentally began allowing unquoted arguments to use @@ -229,103 +346,36 @@ Changes made since CMake 3.0.0 include the following. CMake 3.1 again requires the quotes for this to work correctly. -* Support for the Open Watcom compiler has been overhauled. - The :variable:`CMAKE__COMPILER_ID` is now ``OpenWatcom``, - and the :variable:`CMAKE__COMPILER_VERSION` now uses - the Open Watcom external version numbering. The external - version numbers are lower than the internal version number - by 11. - -* The :command:`export(PACKAGE)` command learned to check the - :variable:`CMAKE_EXPORT_NO_PACKAGE_REGISTRY` variable to skip - exporting the package. - -* The :command:`find_package` command learned to check the - :variable:`CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY` and - :variable:`CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY` - variables to skip searching the package registries. - -* The :command:`string` command learned a new ``GENEX_STRIP`` subcommand - which removes - :manual:`generator expression `. - -* The :command:`string` command learned a new ``UUID`` subcommand - to generate a univerally unique identifier. - -* A new :prop_tgt:`INTERFACE_SOURCES` target property was introduced. This is - consumed by dependent targets, which compile and link the listed sources. - -* The :command:`target_sources` command was added to add to the - :prop_tgt:`SOURCES` target property. - -* The :prop_tgt:`SOURCES` target property now contains - :manual:`generator expression ` - such as ``TARGET_OBJECTS`` when read at configure time, if - policy :policy:`CMP0051` is ``NEW``. - -* The :prop_tgt:`SOURCES` target property now generally supports - :manual:`generator expression `. The - generator expressions may be used in the :command:`add_library` and - :command:`add_executable` commands. - -* It is now possible to write and append to the :prop_tgt:`SOURCES` target - property. The :variable:`CMAKE_DEBUG_TARGET_PROPERTIES` variable may be - used to trace the origin of sources. - -* The :module:`UseSWIG` module learned to detect the module name - from ``.i`` source files if possible to avoid the need to set - the ``SWIG_MODULE_NAME`` source file property explicitly. - * Callbacks established by the :command:`variable_watch` command will no longer receive the ``ALLOWED_UNKNOWN_READ_ACCESS`` access type when the undocumented ``CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS`` variable is set. Uninitialized variable accesses will always be reported as ``UNKNOWN_READ_ACCESS``. -* A :generator:`Visual Studio 14` generator was added. - -* The Visual Studio generators for versions 8 (2005) and above - learned to read the target platform name from a new - :variable:`CMAKE_GENERATOR_PLATFORM` variable when it is - not specified as part of the generator name. The platform - name may be specified on the :manual:`cmake(1)` command line - with the ``-A`` option, e.g. ``-G "Visual Studio 12 2013" -A x64``. - -* Visual Studio generators for VS 8 and later learned to support - the ``ASM_MASM`` language. - -* Generators for Visual Studio 10 (2010) and above learned to generate - projects for NVIDIA Nsight Tegra Visual Studio Edition. One may set - the :variable:`CMAKE_SYSTEM_NAME` variable to ``Android`` on the - :manual:`cmake(1)` command-line or in a :variable:`CMAKE_TOOLCHAIN_FILE` - to activate this platform. +* The :module:`CMakeDetermineVSServicePack` module now warns that + it is deprecated and should not longer be used. Use the + :variable:`CMAKE__COMPILER_VERSION` variable instead. -* A :prop_sf:`VS_DEPLOYMENT_CONTENT` source file property was added - to tell the Visual Studio generators to mark content for deployment - in Windows Phone and Windows Store projects. +Other Changes +============= -* The Visual Studio generators learned to treat ``.hlsl`` source - files as High Level Shading Language sources (using ``FXCompile`` - in ``.vcxproj`` files). A :prop_sf:`VS_SHADER_TYPE` source file - property was added to specify the Shader Type. +* The :manual:`cmake-gui(1)` learned to capture output from child + processes started by the :command:`execute_process` command + and display it in the output window. -* The :prop_tgt:`VS_WINRT_COMPONENT` target property was created to - tell Visual Studio generators to compile a shared library as a - Windows Runtime (WinRT) component. +* The :manual:`cmake-language(7)` internal implementation of generator + expression and list expansion parsers have been optimized and shows + non-trivial speedup on large projects. -* Generators for Visual Studio 11 (2012) and above learned to generate - projects for Windows Phone and Windows Store. One may set the - :variable:`CMAKE_SYSTEM_NAME` variable to ``WindowsPhone`` - or ``WindowsStore`` on the :manual:`cmake(1)` command-line - or in a :variable:`CMAKE_TOOLCHAIN_FILE` to activate these platforms. - Also set :variable:`CMAKE_SYSTEM_VERSION` to ``8.0`` or ``8.1`` to - specify the version of Windows to be targeted. +* The Makefile generators learned to use response files with GNU tools + on Windows to pass library directories and names to the linker. -* The :manual:`cpack(1)` ``WiX`` generator learned to support - a :prop_inst:`CPACK_WIX_ACL` installed file property to - specify an Access Control List. +* When generating linker command-lines, CMake now avoids repeating + items corresponding to SHARED library targets. -* The :generator:`Xcode` generator learned to check source - file properties :prop_sf:`XCODE_EXPLICIT_FILE_TYPE` and - :prop_sf:`XCODE_LAST_KNOWN_FILE_TYPE` for a custom Xcode - file reference type. +* Support for the Open Watcom compiler has been overhauled. + The :variable:`CMAKE__COMPILER_ID` is now ``OpenWatcom``, + and the :variable:`CMAKE__COMPILER_VERSION` now uses + the Open Watcom external version numbering. The external + version numbers are lower than the internal version number + by 11. -- cgit v0.12