From 8ce87ac6ef95c244978756f78154f239705aa986 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 2 Jun 2015 09:09:53 -0400 Subject: [PATCH 1/2] Help: Consolidate 3.3 release notes Move all development release notes into a new version-specific document: tail -q -n +3 Help/release/dev/* > Help/release/3.3.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.3.rst | 263 ++++++++++++++++++ Help/release/dev/ExternalData-no-symlinks.rst | 7 - .../dev/ExternalData-recursive-match.rst | 7 - .../release/dev/ExternalData-url-algo-map.rst | 8 - .../dev/ExternalProject-byproducts-tokens.rst | 5 - Help/release/dev/ExternalProject-genex.rst | 6 - Help/release/dev/FPHSA-ExactCase-name.rst | 10 - .../dev/FindBoost-per-config-libraries.rst | 5 - Help/release/dev/FindCUDA-StaticRuntime.rst | 7 - Help/release/dev/FindMatlab-rewrite.rst | 7 - ...stallRequiredSystemLibraries-COMPONENT.rst | 6 - .../dev/UseSWIG-no-MAIN_DEPENDENCY.rst | 9 - .../dev/add-CheckFortranCompilerFlag.rst | 6 - .../dev/add-GreenHills-MULTI-generator.rst | 8 - .../add_dependencies-INTERFACE-libraries.rst | 7 - .../cmake-gui-osx-install-command-line.rst | 10 - Help/release/dev/compiler-version-Fortran.rst | 6 - .../cpack-deb-component-auto-discovery.rst | 6 - .../dev/cpack-deb-component-dependencies.rst | 6 - Help/release/dev/cpack-ifw-updates.rst | 5 - .../dev/cpack-rpm-basic-symlink-handling.rst | 6 - .../dev/cpack-rpm-refactored-file-listing.rst | 6 - Help/release/dev/ctest-no-make-i.rst | 7 - Help/release/dev/ctest-repeat-until-fail.rst | 5 - .../dev/disallow-install-of-export.rst | 5 - Help/release/dev/emulator-property.rst | 7 - .../dev/execute_process-merge-output.rst | 5 - .../dev/export-interface-source-files.rst | 6 - .../dev/extend-visibility-properties.rst | 7 - .../dev/file-globbing-directory-listing.rst | 6 - .../dev/find-command-prefix-from-PATH.rst | 6 - .../dev/find_package-no-cmake-gui-paths.rst | 10 - .../dev/gcov-module-coverage-exclude.rst | 6 - Help/release/dev/if-IN_LIST.rst | 5 - .../release/dev/install-DESTINATION-genex.rst | 5 - .../dev/link-implicit-libs-full-path.rst | 6 - Help/release/dev/makefile-DELETE_ON_ERROR.rst | 7 - .../dev/makefile-progress-improvements.rst | 7 - Help/release/dev/mingw-compile-features.rst | 6 - .../release/dev/mingw-no-find_library-dll.rst | 8 - Help/release/dev/ninja-require-byproducts.rst | 9 - .../remove-DEFINITIONS-directory-property.rst | 6 - Help/release/dev/rpm_package_architecture.rst | 6 - Help/release/dev/run-include-what-you-use.rst | 8 - Help/release/dev/tar-write-format.rst | 6 - Help/release/dev/target-language-genex.rst | 9 - .../dev/vs-install-in-default-build.rst | 7 - Help/release/dev/vs-xaml.rst | 6 - Help/release/dev/vs10-no-macros.rst | 9 - Help/release/dev/vs6-deprecate.rst | 5 - Help/release/dev/vs7-OutputDirectory.rst | 10 - Help/release/dev/vs70-deprecate.rst | 5 - Help/release/dev/wix-shortcut-properties.rst | 9 - Help/release/dev/xcode-attribute-genex.rst | 5 - Help/release/dev/xcode-xctest.rst | 6 - Help/release/index.rst | 1 + 56 files changed, 264 insertions(+), 363 deletions(-) create mode 100644 Help/release/3.3.rst delete mode 100644 Help/release/dev/ExternalData-no-symlinks.rst delete mode 100644 Help/release/dev/ExternalData-recursive-match.rst delete mode 100644 Help/release/dev/ExternalData-url-algo-map.rst delete mode 100644 Help/release/dev/ExternalProject-byproducts-tokens.rst delete mode 100644 Help/release/dev/ExternalProject-genex.rst delete mode 100644 Help/release/dev/FPHSA-ExactCase-name.rst delete mode 100644 Help/release/dev/FindBoost-per-config-libraries.rst delete mode 100644 Help/release/dev/FindCUDA-StaticRuntime.rst delete mode 100644 Help/release/dev/FindMatlab-rewrite.rst delete mode 100644 Help/release/dev/InstallRequiredSystemLibraries-COMPONENT.rst delete mode 100644 Help/release/dev/UseSWIG-no-MAIN_DEPENDENCY.rst delete mode 100644 Help/release/dev/add-CheckFortranCompilerFlag.rst delete mode 100644 Help/release/dev/add-GreenHills-MULTI-generator.rst delete mode 100644 Help/release/dev/add_dependencies-INTERFACE-libraries.rst delete mode 100644 Help/release/dev/cmake-gui-osx-install-command-line.rst delete mode 100644 Help/release/dev/compiler-version-Fortran.rst delete mode 100644 Help/release/dev/cpack-deb-component-auto-discovery.rst delete mode 100644 Help/release/dev/cpack-deb-component-dependencies.rst delete mode 100644 Help/release/dev/cpack-ifw-updates.rst delete mode 100644 Help/release/dev/cpack-rpm-basic-symlink-handling.rst delete mode 100644 Help/release/dev/cpack-rpm-refactored-file-listing.rst delete mode 100644 Help/release/dev/ctest-no-make-i.rst delete mode 100644 Help/release/dev/ctest-repeat-until-fail.rst delete mode 100644 Help/release/dev/disallow-install-of-export.rst delete mode 100644 Help/release/dev/emulator-property.rst delete mode 100644 Help/release/dev/execute_process-merge-output.rst delete mode 100644 Help/release/dev/export-interface-source-files.rst delete mode 100644 Help/release/dev/extend-visibility-properties.rst delete mode 100644 Help/release/dev/file-globbing-directory-listing.rst delete mode 100644 Help/release/dev/find-command-prefix-from-PATH.rst delete mode 100644 Help/release/dev/find_package-no-cmake-gui-paths.rst delete mode 100644 Help/release/dev/gcov-module-coverage-exclude.rst delete mode 100644 Help/release/dev/if-IN_LIST.rst delete mode 100644 Help/release/dev/install-DESTINATION-genex.rst delete mode 100644 Help/release/dev/link-implicit-libs-full-path.rst delete mode 100644 Help/release/dev/makefile-DELETE_ON_ERROR.rst delete mode 100644 Help/release/dev/makefile-progress-improvements.rst delete mode 100644 Help/release/dev/mingw-compile-features.rst delete mode 100644 Help/release/dev/mingw-no-find_library-dll.rst delete mode 100644 Help/release/dev/ninja-require-byproducts.rst delete mode 100644 Help/release/dev/remove-DEFINITIONS-directory-property.rst delete mode 100644 Help/release/dev/rpm_package_architecture.rst delete mode 100644 Help/release/dev/run-include-what-you-use.rst delete mode 100644 Help/release/dev/tar-write-format.rst delete mode 100644 Help/release/dev/target-language-genex.rst delete mode 100644 Help/release/dev/vs-install-in-default-build.rst delete mode 100644 Help/release/dev/vs-xaml.rst delete mode 100644 Help/release/dev/vs10-no-macros.rst delete mode 100644 Help/release/dev/vs6-deprecate.rst delete mode 100644 Help/release/dev/vs7-OutputDirectory.rst delete mode 100644 Help/release/dev/vs70-deprecate.rst delete mode 100644 Help/release/dev/wix-shortcut-properties.rst delete mode 100644 Help/release/dev/xcode-attribute-genex.rst delete mode 100644 Help/release/dev/xcode-xctest.rst diff --git a/Help/release/3.3.rst b/Help/release/3.3.rst new file mode 100644 index 000000000..711400862 --- /dev/null +++ b/Help/release/3.3.rst @@ -0,0 +1,263 @@ +CMake 3.3 Release Notes +*********************** + +.. only:: html + + .. contents:: + +Changes made since CMake 3.2 include the following. + +* The :module:`CheckFortranCompilerFlag` module was introduced + to check ``Fortran`` compiler flags, much like the + :module:`CheckCCompilerFlag` module already does for ``C``. + +* The :command:`add_dependencies` command learned to allow dependencies + to be added to :ref:`interface libraries `. + Dependencies added to an interface library are followed transitively + in its place since the target itself does not build. + +* A new experimental :generator:`Green Hills MULTI` generator was + added on Windows. `Green Hills MULTI`_ is an IDE for embedded + real-time systems. + +.. _`Green Hills MULTI`: http://www.ghs.com/products/MULTI_IDE.html + +* On OS X the :manual:`cmake-gui(1)` no longer has the + ``Install For Command Line Use`` menu item. Instead there + is a ``How to Install For Command Line Use`` menu item + that shows an informational dialog box explaining how to + make the command line tools available. For example:: + + /Applications/CMake.app/Contents/bin/cmake-gui --install + +* The version of some Fortran compilers is now detected and stored in the + :variable:`CMAKE_Fortran_COMPILER_VERSION _COMPILER_VERSION>` + variable. + +* The :module:`CPackDeb` module learned a new + :variable:`CPACK_DEBIAN__PACKAGE_SHLIBDEPS` + variable to specify per-component use of ``dpkg-shlibdeps``. + +* The :module:`CPackDeb` module learned a new + :variable:`CPACK_DEBIAN__PACKAGE_DEPENDS` + option to specify per-component dependencies. + +* The :manual:`cpack(1)` ``IFW`` generator and the :module:`CPackIFW` + module learned to support Qt Framework Installer 2.0 tools. + +* The :module:`CPackRPM` module learned to package symbolic links + more cleanly and now supports directory symlinks with recent + ``rpmbuild`` versions. + +* The :module:`CPackRPM` module learned a new + :variable:`CPACK_RPM_ADDITIONAL_MAN_DIRS` variable to specify + directories containing man pages for the brp-compress RPM macro. + +* The :command:`ctest_build` and :command:`build_command` commands + no longer tell ``make`` tools to ignore errors with the ``-i`` option. + Previously this was done for :ref:`Makefile Generators` but not others. + See policy :policy:`CMP0061`. + +* The :manual:`ctest(1)` tool learned a new ``--repeat-until-fail `` + option to help find sporadic test failures. + +* Using the output of :command:`export()` with the :command:`install(FILES)` + command is no longer allowed. See policy :policy:`CMP0062` for details. + +* A :prop_tgt:`CROSSCOMPILING_EMULATOR` target property and supporting + :variable:`CMAKE_CROSSCOMPILING_EMULATOR` variable were introduced + to allow target platform binaries to run on the host during cross + compiling. + +* The :command:`execute_process` command learned to support specifying + the same file for ``OUTPUT_FILE`` and ``ERROR_FILE``. + +* It is now possible to export targets which populate the + :prop_tgt:`INTERFACE_SOURCES` target property using the + :command:`install(EXPORT)` and :command:`export()` commands. + +* The :prop_tgt:`_VISIBILITY_PRESET` and + :prop_tgt:`VISIBILITY_INLINES_HIDDEN` target properties now + affect compilation in sources of all target types. See + policy :policy:`CMP0063`. + +* The :module:`ExternalData` module learned a new + :variable:`ExternalData_NO_SYMLINKS` option to disable use of + symbolic links to populate the real data files and use copies + instead. + +* The :module:`ExternalData` module learned a new ``RECURSE:`` + option in ``DATA{}`` references specifying directories. + This allows an entire directory tree of associated files + to be matched. + +* The :module:`ExternalData` module learned a new URL template + placeholder ``%(algo:)`` to allow custom mapping from + algorithm name to URL component through configuration of new + :variable:`ExternalData_URL_ALGO__` variables. + This allows more flexibility in remote URLs. + +* The :module:`ExternalProject` module learned to replace tokens + like ```` in the ``BYPRODUCTS`` of each step. + +* The :module:`ExternalProject` module APIs learned to support + :manual:`generator expressions ` + when using ``LOG_*`` options and in CMake initial cache options. + +* The :command:`file(GLOB)` and :command:`file(GLOB_RECURSE)` commands + learned a new ``LIST_DIRECTORIES `` option to specify whether + the glob result should include directories. + +* The :module:`FindBoost` module now tracks the directories containing + libraries separately for RELEASE and DEBUG configurations. + +* The :command:`find_library`, :command:`find_path`, and :command:`find_file` + commands now search in installation prefixes derived from the ``PATH`` + environment variable. + +* The :module:`FindCUDA` module now defaults to using the static + CUDA runtime library if it is available. A new + ``CUDA_USE_STATIC_CUDA_RUNTIME`` option is offered to control + this behavior. + +* The :module:`FindMatlab` module was completely rewritten. It learned + about versions and components and to find Matlab in a more precise and + multiplatform way. The module now offers APIs to create mex extensions, + documentation, and unit tests. + +* The :command:`find_package` command no longer considers project + build trees recently configured in a :manual:`cmake-gui(1)`. + This was previously done only on Windows and is now never done. + The ``NO_CMAKE_BUILDS_PATH`` option is now ignored if given + and effectively always on. + Projects may populate the :ref:`User Package Registry` to aid + users building multiple dependent projects one after another. + +* The :module:`FindPackageHandleStandardArgs` module + ``FIND_PACKAGE_HANDLE_STANDARD_ARGS`` function now + always populates the both ``_FOUND`` + and ``_FOUND`` variables (the latter + for backwards compatibility). The ``FOUND_VAR`` + option is now ignored except to enforce its allowed + values. + +* The :module:`CTestCoverageCollectGCOV` module learned to support + the same ``CTEST_CUSTOM_COVERAGE_EXCLUDE`` option as the + :command:`ctest_coverage` command. + +* Add a new IN_LIST operator to if() that evaluates true + if a given element is contained in a named list. + +* The :command:`install(TARGETS)` command learned to support + generator expressions in the ``DESTINATION`` value. + +* The :module:`InstallRequiredSystemLibraries` module learned a new + ``CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT`` option to specify the + installation component. + +* Linking to library files by a full path in an implicit linker search + directory (e.g. ``/usr/lib/libfoo.a``) no longer asks the linker to + search for the library (e.g. ``-lfoo``). See policy :policy:`CMP0060`. + +* The Makefile generators now add ``.DELETE_ON_ERROR`` to the + makefiles that contain the actual build rules for files on disk. + This tells GNU make to remove rule outputs when their recipe + modifies an output but fails. + +* With Makefile generators, the build-time progress output has been improved. + It no longer mixes progress and build rule messages during parallel builds. + The link rule messages now have progress and are displayed as bold green + instead of bold red (since red is often associated with an error message). + +* The :manual:`Compile Features ` functionality + is now aware of features supported by GNU compilers on Windows, versions + 4.4 through 5.0. + +* When building with GNU tools on Windows (MinGW tools), the + :command:`find_library` command will no longer consider + ``.dll`` files to be linkable libraries. All dynamic link + libraries are expected to provide separate ``.dll.a`` or + ``.lib`` import libraries. + +* The :generator:`Ninja` generator now requires that calls to the + :command:`add_custom_command` and :command:`add_custom_target` + commands use the ``BYPRODUCTS`` option to explicitly specify any + files generated by the custom commands that are not listed as + outputs (perhaps because their timestamps are allowed to be older + than the inputs). See policy :policy:`CMP0058`. + +* The :command:`add_definitions()` command no longer causes a + :prop_dir:`DEFINITIONS` directory property to be populated. See policy + :policy:`CMP0059`. + +* The :module:`CPackRPM` module learned a new + :variable:`CPACK_RPM__PACKAGE_ARCHITECTURE` variable + to specify a component-specific package architecture. + +* The :ref:`Makefile Generators` and the :generator:`Ninja` generator + learned to optionally run ``include-what-you-use`` along with the + compiler for ``C`` and ``CXX`` languages. See the + :variable:`CMAKE__INCLUDE_WHAT_YOU_USE` variable and + :prop_tgt:`_INCLUDE_WHAT_YOU_USE` target property for details. + +* A new ``COMPILE_LANGUAGE`` generator expression was introduced to + allow specification of compile options for target files based on the + :prop_sf:`LANGUAGE` of each source file. Due to limitations of the + underlying native build tools, this feature has varying support across + generators. See the :manual:`cmake-generator-expressions(7)` manual + for details. + +* The :manual:`cmake(1)` ``-E tar`` command learned a new + ``--format`` option to specify the archive format to + be written. + +* The :module:`UseSWIG` module ``SWIG_ADD_MODULE`` macro no + longer attaches the swig invocation custom command to the + ``.i`` source file in IDE projects. This is because only + one custom command can be safely attached to a given source + file, and adding multiple modules with the same ``.i`` file + for different languages requires more than one such command. + +* The :generator:`Visual Studio 10 2010` generator no longer checks + for running VS IDEs with the project open or asks them to reload. + This was originally done for VS 10 because it had been done for + VS 7 through 9 to avoid prompting for every project in a solution. + Since VS >= 10 allow the whole solution to reload at once they + do not need CMake to help them. + +* The :generator:`Visual Studio 6` generator is now deprecated + and will be removed in a future version of CMake. + +* The :generator:`Visual Studio 7` generator (.NET 2002) is now + deprecated and will be removed in a future version of CMake. + +* The :variable:`CMAKE_CFG_INTDIR` variable value for Visual Studio + 7, 8, and 9 is now ``$(ConfigurationName)`` instead of ``$(OutDir)``. + This should have no effect on the intended use cases of the variable. + +* With Visual Studio 7, 8, and 9 generators the value of the ``$(OutDir)`` + placeholder no longer evaluates to the configuration name. Projects + should use ``$(ConfigurationName)`` for that instead. + +* The :ref:`Visual Studio Generators` learned a new + :variable:`CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD` option + to put the ``INSTALL`` target in the default build of a + solution (``.sln``) file. + +* The :ref:`Visual Studio Generators` learned to support ``.xaml`` + source files and automatically associate them with corresponding + ``.h`` and ``.cpp`` sources. + +* The CPack WIX generator learned the new + :prop_inst:`CPACK_START_MENU_SHORTCUTS`, + :prop_inst:`CPACK_DESKTOP_SHORTCUTS` and + :prop_inst:`CPACK_STARTUP_SHORTCUTS` installed file properties which can + be used to install shorcuts in the Start Menu, on the Desktop and + in the Startup Folder respectively. + +* The :prop_tgt:`XCODE_ATTRIBUTE_` target property learned + to support generator expressions. + +* On OS X, CMake learned to create XCTest bundles to test Frameworks + and App Bundles within Xcode. The :module:`FindXCTest` module + provides convenience functions to handle :prop_tgt:`XCTEST` bundles. diff --git a/Help/release/dev/ExternalData-no-symlinks.rst b/Help/release/dev/ExternalData-no-symlinks.rst deleted file mode 100644 index 9323cca62..000000000 --- a/Help/release/dev/ExternalData-no-symlinks.rst +++ /dev/null @@ -1,7 +0,0 @@ -ExternalData-no-symlinks ------------------------- - -* The :module:`ExternalData` module learned a new - :variable:`ExternalData_NO_SYMLINKS` option to disable use of - symbolic links to populate the real data files and use copies - instead. diff --git a/Help/release/dev/ExternalData-recursive-match.rst b/Help/release/dev/ExternalData-recursive-match.rst deleted file mode 100644 index 4d8c7899f..000000000 --- a/Help/release/dev/ExternalData-recursive-match.rst +++ /dev/null @@ -1,7 +0,0 @@ -ExternalData-recursive-match ----------------------------- - -* The :module:`ExternalData` module learned a new ``RECURSE:`` - option in ``DATA{}`` references specifying directories. - This allows an entire directory tree of associated files - to be matched. diff --git a/Help/release/dev/ExternalData-url-algo-map.rst b/Help/release/dev/ExternalData-url-algo-map.rst deleted file mode 100644 index baf661f65..000000000 --- a/Help/release/dev/ExternalData-url-algo-map.rst +++ /dev/null @@ -1,8 +0,0 @@ -ExternalData-url-algo-map -------------------------- - -* The :module:`ExternalData` module learned a new URL template - placeholder ``%(algo:)`` to allow custom mapping from - algorithm name to URL component through configuration of new - :variable:`ExternalData_URL_ALGO__` variables. - This allows more flexibility in remote URLs. diff --git a/Help/release/dev/ExternalProject-byproducts-tokens.rst b/Help/release/dev/ExternalProject-byproducts-tokens.rst deleted file mode 100644 index 20b4dd468..000000000 --- a/Help/release/dev/ExternalProject-byproducts-tokens.rst +++ /dev/null @@ -1,5 +0,0 @@ -ExternalProject-byproducts-tokens ---------------------------------- - -* The :module:`ExternalProject` module learned to replace tokens - like ```` in the ``BYPRODUCTS`` of each step. diff --git a/Help/release/dev/ExternalProject-genex.rst b/Help/release/dev/ExternalProject-genex.rst deleted file mode 100644 index 2c7bf8adb..000000000 --- a/Help/release/dev/ExternalProject-genex.rst +++ /dev/null @@ -1,6 +0,0 @@ -ExternalProject-genex ---------------------- - -* The :module:`ExternalProject` module APIs learned to support - :manual:`generator expressions ` - when using ``LOG_*`` options and in CMake initial cache options. diff --git a/Help/release/dev/FPHSA-ExactCase-name.rst b/Help/release/dev/FPHSA-ExactCase-name.rst deleted file mode 100644 index 675547cff..000000000 --- a/Help/release/dev/FPHSA-ExactCase-name.rst +++ /dev/null @@ -1,10 +0,0 @@ -FPHSA-ExactCase-name --------------------- - -* The :module:`FindPackageHandleStandardArgs` module - ``FIND_PACKAGE_HANDLE_STANDARD_ARGS`` function now - always populates the both ``_FOUND`` - and ``_FOUND`` variables (the latter - for backwards compatibility). The ``FOUND_VAR`` - option is now ignored except to enforce its allowed - values. diff --git a/Help/release/dev/FindBoost-per-config-libraries.rst b/Help/release/dev/FindBoost-per-config-libraries.rst deleted file mode 100644 index e6ef70fcf..000000000 --- a/Help/release/dev/FindBoost-per-config-libraries.rst +++ /dev/null @@ -1,5 +0,0 @@ -FindBoost-per-config-libraries ------------------------------- - -* The :module:`FindBoost` module now tracks the directories containing - libraries separately for RELEASE and DEBUG configurations. diff --git a/Help/release/dev/FindCUDA-StaticRuntime.rst b/Help/release/dev/FindCUDA-StaticRuntime.rst deleted file mode 100644 index 112596c20..000000000 --- a/Help/release/dev/FindCUDA-StaticRuntime.rst +++ /dev/null @@ -1,7 +0,0 @@ -FindCUDA-StaticRuntime ----------------------- - -* The :module:`FindCUDA` module now defaults to using the static - CUDA runtime library if it is available. A new - ``CUDA_USE_STATIC_CUDA_RUNTIME`` option is offered to control - this behavior. diff --git a/Help/release/dev/FindMatlab-rewrite.rst b/Help/release/dev/FindMatlab-rewrite.rst deleted file mode 100644 index 07727b816..000000000 --- a/Help/release/dev/FindMatlab-rewrite.rst +++ /dev/null @@ -1,7 +0,0 @@ -FindMatlab-rewrite ------------------- - -* The :module:`FindMatlab` module was completely rewritten. It learned - about versions and components and to find Matlab in a more precise and - multiplatform way. The module now offers APIs to create mex extensions, - documentation, and unit tests. diff --git a/Help/release/dev/InstallRequiredSystemLibraries-COMPONENT.rst b/Help/release/dev/InstallRequiredSystemLibraries-COMPONENT.rst deleted file mode 100644 index e6ebc2de6..000000000 --- a/Help/release/dev/InstallRequiredSystemLibraries-COMPONENT.rst +++ /dev/null @@ -1,6 +0,0 @@ -InstallRequiredSystemLibraries-COMPONENT ----------------------------------------- - -* The :module:`InstallRequiredSystemLibraries` module learned a new - ``CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT`` option to specify the - installation component. diff --git a/Help/release/dev/UseSWIG-no-MAIN_DEPENDENCY.rst b/Help/release/dev/UseSWIG-no-MAIN_DEPENDENCY.rst deleted file mode 100644 index 5311cf105..000000000 --- a/Help/release/dev/UseSWIG-no-MAIN_DEPENDENCY.rst +++ /dev/null @@ -1,9 +0,0 @@ -UseSWIG-no-MAIN_DEPENDENCY --------------------------- - -* The :module:`UseSWIG` module ``SWIG_ADD_MODULE`` macro no - longer attaches the swig invocation custom command to the - ``.i`` source file in IDE projects. This is because only - one custom command can be safely attached to a given source - file, and adding multiple modules with the same ``.i`` file - for different languages requires more than one such command. diff --git a/Help/release/dev/add-CheckFortranCompilerFlag.rst b/Help/release/dev/add-CheckFortranCompilerFlag.rst deleted file mode 100644 index 718b53e9d..000000000 --- a/Help/release/dev/add-CheckFortranCompilerFlag.rst +++ /dev/null @@ -1,6 +0,0 @@ -add-CheckFortranCompilerFlag ----------------------------- - -* The :module:`CheckFortranCompilerFlag` module was introduced - to check ``Fortran`` compiler flags, much like the - :module:`CheckCCompilerFlag` module already does for ``C``. diff --git a/Help/release/dev/add-GreenHills-MULTI-generator.rst b/Help/release/dev/add-GreenHills-MULTI-generator.rst deleted file mode 100644 index b4c5c5ad3..000000000 --- a/Help/release/dev/add-GreenHills-MULTI-generator.rst +++ /dev/null @@ -1,8 +0,0 @@ -add-GreenHills-MULTI-generator ------------------------------- - -* A new experimental :generator:`Green Hills MULTI` generator was - added on Windows. `Green Hills MULTI`_ is an IDE for embedded - real-time systems. - -.. _`Green Hills MULTI`: http://www.ghs.com/products/MULTI_IDE.html diff --git a/Help/release/dev/add_dependencies-INTERFACE-libraries.rst b/Help/release/dev/add_dependencies-INTERFACE-libraries.rst deleted file mode 100644 index dfac2aff7..000000000 --- a/Help/release/dev/add_dependencies-INTERFACE-libraries.rst +++ /dev/null @@ -1,7 +0,0 @@ -add_dependencies-INTERFACE-libraries ------------------------------------- - -* The :command:`add_dependencies` command learned to allow dependencies - to be added to :ref:`interface libraries `. - Dependencies added to an interface library are followed transitively - in its place since the target itself does not build. diff --git a/Help/release/dev/cmake-gui-osx-install-command-line.rst b/Help/release/dev/cmake-gui-osx-install-command-line.rst deleted file mode 100644 index e0f0369fe..000000000 --- a/Help/release/dev/cmake-gui-osx-install-command-line.rst +++ /dev/null @@ -1,10 +0,0 @@ -cmake-gui-osx-install-command-line ----------------------------------- - -* On OS X the :manual:`cmake-gui(1)` no longer has the - ``Install For Command Line Use`` menu item. Instead there - is a ``How to Install For Command Line Use`` menu item - that shows an informational dialog box explaining how to - make the command line tools available. For example:: - - /Applications/CMake.app/Contents/bin/cmake-gui --install diff --git a/Help/release/dev/compiler-version-Fortran.rst b/Help/release/dev/compiler-version-Fortran.rst deleted file mode 100644 index e10b2066d..000000000 --- a/Help/release/dev/compiler-version-Fortran.rst +++ /dev/null @@ -1,6 +0,0 @@ -compiler-version-Fortran ------------------------- - -* The version of some Fortran compilers is now detected and stored in the - :variable:`CMAKE_Fortran_COMPILER_VERSION _COMPILER_VERSION>` - variable. diff --git a/Help/release/dev/cpack-deb-component-auto-discovery.rst b/Help/release/dev/cpack-deb-component-auto-discovery.rst deleted file mode 100644 index cc74db2ce..000000000 --- a/Help/release/dev/cpack-deb-component-auto-discovery.rst +++ /dev/null @@ -1,6 +0,0 @@ -cpack-deb-component-auto-discovery ----------------------------------- - -* The :module:`CPackDeb` module learned a new - :variable:`CPACK_DEBIAN__PACKAGE_SHLIBDEPS` - variable to specify per-component use of ``dpkg-shlibdeps``. diff --git a/Help/release/dev/cpack-deb-component-dependencies.rst b/Help/release/dev/cpack-deb-component-dependencies.rst deleted file mode 100644 index de9f457a2..000000000 --- a/Help/release/dev/cpack-deb-component-dependencies.rst +++ /dev/null @@ -1,6 +0,0 @@ -cpack-deb-component-dependencies --------------------------------- - -* The :module:`CPackDeb` module learned a new - :variable:`CPACK_DEBIAN__PACKAGE_DEPENDS` - option to specify per-component dependencies. diff --git a/Help/release/dev/cpack-ifw-updates.rst b/Help/release/dev/cpack-ifw-updates.rst deleted file mode 100644 index c01f04bde..000000000 --- a/Help/release/dev/cpack-ifw-updates.rst +++ /dev/null @@ -1,5 +0,0 @@ -cpack-ifw-updates ------------------ - -* The :manual:`cpack(1)` ``IFW`` generator and the :module:`CPackIFW` - module learned to support Qt Framework Installer 2.0 tools. diff --git a/Help/release/dev/cpack-rpm-basic-symlink-handling.rst b/Help/release/dev/cpack-rpm-basic-symlink-handling.rst deleted file mode 100644 index 3af4cf139..000000000 --- a/Help/release/dev/cpack-rpm-basic-symlink-handling.rst +++ /dev/null @@ -1,6 +0,0 @@ -cpack-rpm-basic-symlink-handling --------------------------------- - -* The :module:`CPackRPM` module learned to package symbolic links - more cleanly and now supports directory symlinks with recent - ``rpmbuild`` versions. diff --git a/Help/release/dev/cpack-rpm-refactored-file-listing.rst b/Help/release/dev/cpack-rpm-refactored-file-listing.rst deleted file mode 100644 index b4a502546..000000000 --- a/Help/release/dev/cpack-rpm-refactored-file-listing.rst +++ /dev/null @@ -1,6 +0,0 @@ -cpack-rpm-refactored-file-listing ---------------------------------- - -* The :module:`CPackRPM` module learned a new - :variable:`CPACK_RPM_ADDITIONAL_MAN_DIRS` variable to specify - directories containing man pages for the brp-compress RPM macro. diff --git a/Help/release/dev/ctest-no-make-i.rst b/Help/release/dev/ctest-no-make-i.rst deleted file mode 100644 index 96da0bdab..000000000 --- a/Help/release/dev/ctest-no-make-i.rst +++ /dev/null @@ -1,7 +0,0 @@ -ctest-no-make-i ---------------- - -* The :command:`ctest_build` and :command:`build_command` commands - no longer tell ``make`` tools to ignore errors with the ``-i`` option. - Previously this was done for :ref:`Makefile Generators` but not others. - See policy :policy:`CMP0061`. diff --git a/Help/release/dev/ctest-repeat-until-fail.rst b/Help/release/dev/ctest-repeat-until-fail.rst deleted file mode 100644 index 8a679c61c..000000000 --- a/Help/release/dev/ctest-repeat-until-fail.rst +++ /dev/null @@ -1,5 +0,0 @@ -ctest-repeat-until-fail ------------------------ - -* The :manual:`ctest(1)` tool learned a new ``--repeat-until-fail `` - option to help find sporadic test failures. diff --git a/Help/release/dev/disallow-install-of-export.rst b/Help/release/dev/disallow-install-of-export.rst deleted file mode 100644 index baee26d37..000000000 --- a/Help/release/dev/disallow-install-of-export.rst +++ /dev/null @@ -1,5 +0,0 @@ -disallow-install-of-export --------------------------- - -* Using the output of :command:`export()` with the :command:`install(FILES)` - command is no longer allowed. See policy :policy:`CMP0062` for details. diff --git a/Help/release/dev/emulator-property.rst b/Help/release/dev/emulator-property.rst deleted file mode 100644 index 1bc2f2d97..000000000 --- a/Help/release/dev/emulator-property.rst +++ /dev/null @@ -1,7 +0,0 @@ -emulator-property ------------------ - -* A :prop_tgt:`CROSSCOMPILING_EMULATOR` target property and supporting - :variable:`CMAKE_CROSSCOMPILING_EMULATOR` variable were introduced - to allow target platform binaries to run on the host during cross - compiling. diff --git a/Help/release/dev/execute_process-merge-output.rst b/Help/release/dev/execute_process-merge-output.rst deleted file mode 100644 index 4c80cdd0f..000000000 --- a/Help/release/dev/execute_process-merge-output.rst +++ /dev/null @@ -1,5 +0,0 @@ -execute_process-merge-output ----------------------------- - -* The :command:`execute_process` command learned to support specifying - the same file for ``OUTPUT_FILE`` and ``ERROR_FILE``. diff --git a/Help/release/dev/export-interface-source-files.rst b/Help/release/dev/export-interface-source-files.rst deleted file mode 100644 index 00dcd251c..000000000 --- a/Help/release/dev/export-interface-source-files.rst +++ /dev/null @@ -1,6 +0,0 @@ -export-interface-source-files ------------------------------ - -* It is now possible to export targets which populate the - :prop_tgt:`INTERFACE_SOURCES` target property using the - :command:`install(EXPORT)` and :command:`export()` commands. diff --git a/Help/release/dev/extend-visibility-properties.rst b/Help/release/dev/extend-visibility-properties.rst deleted file mode 100644 index 6b4489d2d..000000000 --- a/Help/release/dev/extend-visibility-properties.rst +++ /dev/null @@ -1,7 +0,0 @@ -extend-visibility-properties ----------------------------- - -* The :prop_tgt:`_VISIBILITY_PRESET` and - :prop_tgt:`VISIBILITY_INLINES_HIDDEN` target properties now - affect compilation in sources of all target types. See - policy :policy:`CMP0063`. diff --git a/Help/release/dev/file-globbing-directory-listing.rst b/Help/release/dev/file-globbing-directory-listing.rst deleted file mode 100644 index c4d7ba500..000000000 --- a/Help/release/dev/file-globbing-directory-listing.rst +++ /dev/null @@ -1,6 +0,0 @@ -file-globbing-directory-listing -------------------------------- - -* The :command:`file(GLOB)` and :command:`file(GLOB_RECURSE)` commands - learned a new ``LIST_DIRECTORIES `` option to specify whether - the glob result should include directories. diff --git a/Help/release/dev/find-command-prefix-from-PATH.rst b/Help/release/dev/find-command-prefix-from-PATH.rst deleted file mode 100644 index f9aae2a93..000000000 --- a/Help/release/dev/find-command-prefix-from-PATH.rst +++ /dev/null @@ -1,6 +0,0 @@ -find-command-prefix-from-PATH ------------------------------ - -* The :command:`find_library`, :command:`find_path`, and :command:`find_file` - commands now search in installation prefixes derived from the ``PATH`` - environment variable. diff --git a/Help/release/dev/find_package-no-cmake-gui-paths.rst b/Help/release/dev/find_package-no-cmake-gui-paths.rst deleted file mode 100644 index 39145599f..000000000 --- a/Help/release/dev/find_package-no-cmake-gui-paths.rst +++ /dev/null @@ -1,10 +0,0 @@ -find_package-no-cmake-gui-paths -------------------------------- - -* The :command:`find_package` command no longer considers project - build trees recently configured in a :manual:`cmake-gui(1)`. - This was previously done only on Windows and is now never done. - The ``NO_CMAKE_BUILDS_PATH`` option is now ignored if given - and effectively always on. - Projects may populate the :ref:`User Package Registry` to aid - users building multiple dependent projects one after another. diff --git a/Help/release/dev/gcov-module-coverage-exclude.rst b/Help/release/dev/gcov-module-coverage-exclude.rst deleted file mode 100644 index ee4ebae7d..000000000 --- a/Help/release/dev/gcov-module-coverage-exclude.rst +++ /dev/null @@ -1,6 +0,0 @@ -gcov-module-coverage-exclude ----------------------------- - -* The :module:`CTestCoverageCollectGCOV` module learned to support - the same ``CTEST_CUSTOM_COVERAGE_EXCLUDE`` option as the - :command:`ctest_coverage` command. diff --git a/Help/release/dev/if-IN_LIST.rst b/Help/release/dev/if-IN_LIST.rst deleted file mode 100644 index 9dd07253d..000000000 --- a/Help/release/dev/if-IN_LIST.rst +++ /dev/null @@ -1,5 +0,0 @@ -if-IN_LIST ----------- - -* Add a new IN_LIST operator to if() that evaluates true - if a given element is contained in a named list. diff --git a/Help/release/dev/install-DESTINATION-genex.rst b/Help/release/dev/install-DESTINATION-genex.rst deleted file mode 100644 index 4c4bbedf6..000000000 --- a/Help/release/dev/install-DESTINATION-genex.rst +++ /dev/null @@ -1,5 +0,0 @@ -install-DESTINATION-genex -------------------------- - -* The :command:`install(TARGETS)` command learned to support - generator expressions in the ``DESTINATION`` value. diff --git a/Help/release/dev/link-implicit-libs-full-path.rst b/Help/release/dev/link-implicit-libs-full-path.rst deleted file mode 100644 index 7ed724525..000000000 --- a/Help/release/dev/link-implicit-libs-full-path.rst +++ /dev/null @@ -1,6 +0,0 @@ -link-implicit-libs-full-path ----------------------------- - -* Linking to library files by a full path in an implicit linker search - directory (e.g. ``/usr/lib/libfoo.a``) no longer asks the linker to - search for the library (e.g. ``-lfoo``). See policy :policy:`CMP0060`. diff --git a/Help/release/dev/makefile-DELETE_ON_ERROR.rst b/Help/release/dev/makefile-DELETE_ON_ERROR.rst deleted file mode 100644 index c7c45fd5e..000000000 --- a/Help/release/dev/makefile-DELETE_ON_ERROR.rst +++ /dev/null @@ -1,7 +0,0 @@ -makefile-DELETE_ON_ERROR ------------------------- - -* The Makefile generators now add ``.DELETE_ON_ERROR`` to the - makefiles that contain the actual build rules for files on disk. - This tells GNU make to remove rule outputs when their recipe - modifies an output but fails. diff --git a/Help/release/dev/makefile-progress-improvements.rst b/Help/release/dev/makefile-progress-improvements.rst deleted file mode 100644 index 9cc970610..000000000 --- a/Help/release/dev/makefile-progress-improvements.rst +++ /dev/null @@ -1,7 +0,0 @@ -makefile-progress-improvements ------------------------------- - -* With Makefile generators, the build-time progress output has been improved. - It no longer mixes progress and build rule messages during parallel builds. - The link rule messages now have progress and are displayed as bold green - instead of bold red (since red is often associated with an error message). diff --git a/Help/release/dev/mingw-compile-features.rst b/Help/release/dev/mingw-compile-features.rst deleted file mode 100644 index e2ed30b1e..000000000 --- a/Help/release/dev/mingw-compile-features.rst +++ /dev/null @@ -1,6 +0,0 @@ -mingw-compile-features ----------------------- - -* The :manual:`Compile Features ` functionality - is now aware of features supported by GNU compilers on Windows, versions - 4.4 through 5.0. diff --git a/Help/release/dev/mingw-no-find_library-dll.rst b/Help/release/dev/mingw-no-find_library-dll.rst deleted file mode 100644 index 1b0c19ba2..000000000 --- a/Help/release/dev/mingw-no-find_library-dll.rst +++ /dev/null @@ -1,8 +0,0 @@ -mingw-no-find_library-dll -------------------------- - -* When building with GNU tools on Windows (MinGW tools), the - :command:`find_library` command will no longer consider - ``.dll`` files to be linkable libraries. All dynamic link - libraries are expected to provide separate ``.dll.a`` or - ``.lib`` import libraries. diff --git a/Help/release/dev/ninja-require-byproducts.rst b/Help/release/dev/ninja-require-byproducts.rst deleted file mode 100644 index ccde4bc69..000000000 --- a/Help/release/dev/ninja-require-byproducts.rst +++ /dev/null @@ -1,9 +0,0 @@ -ninja-require-byproducts ------------------------- - -* The :generator:`Ninja` generator now requires that calls to the - :command:`add_custom_command` and :command:`add_custom_target` - commands use the ``BYPRODUCTS`` option to explicitly specify any - files generated by the custom commands that are not listed as - outputs (perhaps because their timestamps are allowed to be older - than the inputs). See policy :policy:`CMP0058`. diff --git a/Help/release/dev/remove-DEFINITIONS-directory-property.rst b/Help/release/dev/remove-DEFINITIONS-directory-property.rst deleted file mode 100644 index d8e50f042..000000000 --- a/Help/release/dev/remove-DEFINITIONS-directory-property.rst +++ /dev/null @@ -1,6 +0,0 @@ -remove-DEFINITIONS-property ---------------------------- - -* The :command:`add_definitions()` command no longer causes a - :prop_dir:`DEFINITIONS` directory property to be populated. See policy - :policy:`CMP0059`. diff --git a/Help/release/dev/rpm_package_architecture.rst b/Help/release/dev/rpm_package_architecture.rst deleted file mode 100644 index 5bec51dd6..000000000 --- a/Help/release/dev/rpm_package_architecture.rst +++ /dev/null @@ -1,6 +0,0 @@ -rpm_package_architecture ------------------------- - -* The :module:`CPackRPM` module learned a new - :variable:`CPACK_RPM__PACKAGE_ARCHITECTURE` variable - to specify a component-specific package architecture. diff --git a/Help/release/dev/run-include-what-you-use.rst b/Help/release/dev/run-include-what-you-use.rst deleted file mode 100644 index baac21ffa..000000000 --- a/Help/release/dev/run-include-what-you-use.rst +++ /dev/null @@ -1,8 +0,0 @@ -run-include-what-you-use ------------------------- - -* The :ref:`Makefile Generators` and the :generator:`Ninja` generator - learned to optionally run ``include-what-you-use`` along with the - compiler for ``C`` and ``CXX`` languages. See the - :variable:`CMAKE__INCLUDE_WHAT_YOU_USE` variable and - :prop_tgt:`_INCLUDE_WHAT_YOU_USE` target property for details. diff --git a/Help/release/dev/tar-write-format.rst b/Help/release/dev/tar-write-format.rst deleted file mode 100644 index 004df211a..000000000 --- a/Help/release/dev/tar-write-format.rst +++ /dev/null @@ -1,6 +0,0 @@ -tar-write-format ----------------- - -* The :manual:`cmake(1)` ``-E tar`` command learned a new - ``--format`` option to specify the archive format to - be written. diff --git a/Help/release/dev/target-language-genex.rst b/Help/release/dev/target-language-genex.rst deleted file mode 100644 index ed4cb5e78..000000000 --- a/Help/release/dev/target-language-genex.rst +++ /dev/null @@ -1,9 +0,0 @@ -target-language-genex ---------------------- - -* A new ``COMPILE_LANGUAGE`` generator expression was introduced to - allow specification of compile options for target files based on the - :prop_sf:`LANGUAGE` of each source file. Due to limitations of the - underlying native build tools, this feature has varying support across - generators. See the :manual:`cmake-generator-expressions(7)` manual - for details. diff --git a/Help/release/dev/vs-install-in-default-build.rst b/Help/release/dev/vs-install-in-default-build.rst deleted file mode 100644 index b57592e37..000000000 --- a/Help/release/dev/vs-install-in-default-build.rst +++ /dev/null @@ -1,7 +0,0 @@ -vs-install-in-default-build ---------------------------- - -* The :ref:`Visual Studio Generators` learned a new - :variable:`CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD` option - to put the ``INSTALL`` target in the default build of a - solution (``.sln``) file. diff --git a/Help/release/dev/vs-xaml.rst b/Help/release/dev/vs-xaml.rst deleted file mode 100644 index 575899ff8..000000000 --- a/Help/release/dev/vs-xaml.rst +++ /dev/null @@ -1,6 +0,0 @@ -vs-xaml -------- - -* The :ref:`Visual Studio Generators` learned to support ``.xaml`` - source files and automatically associate them with corresponding - ``.h`` and ``.cpp`` sources. diff --git a/Help/release/dev/vs10-no-macros.rst b/Help/release/dev/vs10-no-macros.rst deleted file mode 100644 index 89377dcc2..000000000 --- a/Help/release/dev/vs10-no-macros.rst +++ /dev/null @@ -1,9 +0,0 @@ -vs10-no-macros --------------- - -* The :generator:`Visual Studio 10 2010` generator no longer checks - for running VS IDEs with the project open or asks them to reload. - This was originally done for VS 10 because it had been done for - VS 7 through 9 to avoid prompting for every project in a solution. - Since VS >= 10 allow the whole solution to reload at once they - do not need CMake to help them. diff --git a/Help/release/dev/vs6-deprecate.rst b/Help/release/dev/vs6-deprecate.rst deleted file mode 100644 index 83f9afb09..000000000 --- a/Help/release/dev/vs6-deprecate.rst +++ /dev/null @@ -1,5 +0,0 @@ -vs6-deprecate -------------- - -* The :generator:`Visual Studio 6` generator is now deprecated - and will be removed in a future version of CMake. diff --git a/Help/release/dev/vs7-OutputDirectory.rst b/Help/release/dev/vs7-OutputDirectory.rst deleted file mode 100644 index 2725d0c59..000000000 --- a/Help/release/dev/vs7-OutputDirectory.rst +++ /dev/null @@ -1,10 +0,0 @@ -vs7-OutputDirectory -------------------- - -* The :variable:`CMAKE_CFG_INTDIR` variable value for Visual Studio - 7, 8, and 9 is now ``$(ConfigurationName)`` instead of ``$(OutDir)``. - This should have no effect on the intended use cases of the variable. - -* With Visual Studio 7, 8, and 9 generators the value of the ``$(OutDir)`` - placeholder no longer evaluates to the configuration name. Projects - should use ``$(ConfigurationName)`` for that instead. diff --git a/Help/release/dev/vs70-deprecate.rst b/Help/release/dev/vs70-deprecate.rst deleted file mode 100644 index fb9411027..000000000 --- a/Help/release/dev/vs70-deprecate.rst +++ /dev/null @@ -1,5 +0,0 @@ -vs70-deprecate --------------- - -* The :generator:`Visual Studio 7` generator (.NET 2002) is now - deprecated and will be removed in a future version of CMake. diff --git a/Help/release/dev/wix-shortcut-properties.rst b/Help/release/dev/wix-shortcut-properties.rst deleted file mode 100644 index bdd648565..000000000 --- a/Help/release/dev/wix-shortcut-properties.rst +++ /dev/null @@ -1,9 +0,0 @@ -wix-shortcut-properties ------------------------ - -* The CPack WIX generator learned the new - :prop_inst:`CPACK_START_MENU_SHORTCUTS`, - :prop_inst:`CPACK_DESKTOP_SHORTCUTS` and - :prop_inst:`CPACK_STARTUP_SHORTCUTS` installed file properties which can - be used to install shorcuts in the Start Menu, on the Desktop and - in the Startup Folder respectively. diff --git a/Help/release/dev/xcode-attribute-genex.rst b/Help/release/dev/xcode-attribute-genex.rst deleted file mode 100644 index 3fd5b1c68..000000000 --- a/Help/release/dev/xcode-attribute-genex.rst +++ /dev/null @@ -1,5 +0,0 @@ -xcode-attribute-genex ---------------------- - -* The :prop_tgt:`XCODE_ATTRIBUTE_` target property learned - to support generator expressions. diff --git a/Help/release/dev/xcode-xctest.rst b/Help/release/dev/xcode-xctest.rst deleted file mode 100644 index 7a2f07b97..000000000 --- a/Help/release/dev/xcode-xctest.rst +++ /dev/null @@ -1,6 +0,0 @@ -xcode-xctest ------------- - -* On OS X, CMake learned to create XCTest bundles to test Frameworks - and App Bundles within Xcode. The :module:`FindXCTest` module - provides convenience functions to handle :prop_tgt:`XCTEST` bundles. diff --git a/Help/release/index.rst b/Help/release/index.rst index 45d0a692d..b558e9df9 100644 --- a/Help/release/index.rst +++ b/Help/release/index.rst @@ -13,6 +13,7 @@ Releases .. toctree:: :maxdepth: 1 + 3.3 <3.3> 3.2 <3.2> 3.1 <3.1> 3.0 <3.0> From c952d790de477cc6bde99b9c1415f6f6f7bca16d Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 2 Jun 2015 09:30:57 -0400 Subject: [PATCH 2/2] Help: Organize and revise 3.3 release notes Add section headers similar to the 3.2 release notes and move each individual bullet into an appropriate section. Revise and consolidate some bullets covering related areas. --- Help/release/3.3.rst | 334 +++++++++++++++++++++++-------------------- 1 file changed, 182 insertions(+), 152 deletions(-) diff --git a/Help/release/3.3.rst b/Help/release/3.3.rst index 711400862..15127cc61 100644 --- a/Help/release/3.3.rst +++ b/Help/release/3.3.rst @@ -7,14 +7,20 @@ CMake 3.3 Release Notes Changes made since CMake 3.2 include the following. -* The :module:`CheckFortranCompilerFlag` module was introduced - to check ``Fortran`` compiler flags, much like the - :module:`CheckCCompilerFlag` module already does for ``C``. +New Features +============ -* The :command:`add_dependencies` command learned to allow dependencies - to be added to :ref:`interface libraries `. - Dependencies added to an interface library are followed transitively - in its place since the target itself does not build. +Generators +---------- + +* The :ref:`Makefile Generators` now add ``.DELETE_ON_ERROR`` to the + makefiles that contain the actual build rules for files on disk. + This tells GNU make to remove rule outputs when their recipe + modifies an output but fails. + +* The :ref:`Visual Studio Generators` learned to support ``.xaml`` + source files and automatically associate them with corresponding + ``.h`` and ``.cpp`` sources. * A new experimental :generator:`Green Hills MULTI` generator was added on Windows. `Green Hills MULTI`_ is an IDE for embedded @@ -22,65 +28,76 @@ Changes made since CMake 3.2 include the following. .. _`Green Hills MULTI`: http://www.ghs.com/products/MULTI_IDE.html -* On OS X the :manual:`cmake-gui(1)` no longer has the - ``Install For Command Line Use`` menu item. Instead there - is a ``How to Install For Command Line Use`` menu item - that shows an informational dialog box explaining how to - make the command line tools available. For example:: +Commands +-------- - /Applications/CMake.app/Contents/bin/cmake-gui --install +* The :command:`add_dependencies` command learned to allow dependencies + to be added to :ref:`interface libraries `. + Dependencies added to an interface library are followed transitively + in its place since the target itself does not build. + +* The :command:`execute_process` command learned to support specifying + the same file for ``OUTPUT_FILE`` and ``ERROR_FILE``. + +* The :command:`file(GLOB)` and :command:`file(GLOB_RECURSE)` commands + learned a new ``LIST_DIRECTORIES `` option to specify whether + the glob result should include directories. + +* The :command:`find_library`, :command:`find_path`, and :command:`find_file` + commands now search in installation prefixes derived from the ``PATH`` + environment variable. + +* The :command:`if` command learned a new ``IN_LIST`` operator that + evaluates to true if a given element is contained in a named list. + +* The :command:`install(EXPORT)` and :command:`export()` commands + learned to export targets that populate the :prop_tgt:`INTERFACE_SOURCES` + target property. + +* The :command:`install(TARGETS)` command learned to support + generator expressions in the ``DESTINATION`` value. + +Variables +--------- * The version of some Fortran compilers is now detected and stored in the :variable:`CMAKE_Fortran_COMPILER_VERSION _COMPILER_VERSION>` variable. -* The :module:`CPackDeb` module learned a new - :variable:`CPACK_DEBIAN__PACKAGE_SHLIBDEPS` - variable to specify per-component use of ``dpkg-shlibdeps``. +* The :ref:`Visual Studio Generators` learned a new + :variable:`CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD` option + to put the ``INSTALL`` target in the default build of a + solution (``.sln``) file. -* The :module:`CPackDeb` module learned a new - :variable:`CPACK_DEBIAN__PACKAGE_DEPENDS` - option to specify per-component dependencies. - -* The :manual:`cpack(1)` ``IFW`` generator and the :module:`CPackIFW` - module learned to support Qt Framework Installer 2.0 tools. - -* The :module:`CPackRPM` module learned to package symbolic links - more cleanly and now supports directory symlinks with recent - ``rpmbuild`` versions. - -* The :module:`CPackRPM` module learned a new - :variable:`CPACK_RPM_ADDITIONAL_MAN_DIRS` variable to specify - directories containing man pages for the brp-compress RPM macro. - -* The :command:`ctest_build` and :command:`build_command` commands - no longer tell ``make`` tools to ignore errors with the ``-i`` option. - Previously this was done for :ref:`Makefile Generators` but not others. - See policy :policy:`CMP0061`. - -* The :manual:`ctest(1)` tool learned a new ``--repeat-until-fail `` - option to help find sporadic test failures. - -* Using the output of :command:`export()` with the :command:`install(FILES)` - command is no longer allowed. See policy :policy:`CMP0062` for details. +Properties +---------- * A :prop_tgt:`CROSSCOMPILING_EMULATOR` target property and supporting :variable:`CMAKE_CROSSCOMPILING_EMULATOR` variable were introduced to allow target platform binaries to run on the host during cross compiling. -* The :command:`execute_process` command learned to support specifying - the same file for ``OUTPUT_FILE`` and ``ERROR_FILE``. - -* It is now possible to export targets which populate the - :prop_tgt:`INTERFACE_SOURCES` target property using the - :command:`install(EXPORT)` and :command:`export()` commands. +* A :prop_tgt:`_INCLUDE_WHAT_YOU_USE` target property and supporting + :variable:`CMAKE__INCLUDE_WHAT_YOU_USE` variable were introduced + to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator + to run ``include-what-you-use`` along with the compiler for ``C`` and + ``CXX`` languages. * The :prop_tgt:`_VISIBILITY_PRESET` and :prop_tgt:`VISIBILITY_INLINES_HIDDEN` target properties now affect compilation in sources of all target types. See policy :policy:`CMP0063`. +* The :prop_tgt:`XCODE_ATTRIBUTE_` target property learned + to support generator expressions. + +Modules +------- + +* The :module:`CheckFortranCompilerFlag` module was introduced + to check ``Fortran`` compiler flags, much like the + :module:`CheckCCompilerFlag` module already does for ``C``. + * The :module:`ExternalData` module learned a new :variable:`ExternalData_NO_SYMLINKS` option to disable use of symbolic links to populate the real data files and use copies @@ -104,17 +121,9 @@ Changes made since CMake 3.2 include the following. :manual:`generator expressions ` when using ``LOG_*`` options and in CMake initial cache options. -* The :command:`file(GLOB)` and :command:`file(GLOB_RECURSE)` commands - learned a new ``LIST_DIRECTORIES `` option to specify whether - the glob result should include directories. - * The :module:`FindBoost` module now tracks the directories containing libraries separately for RELEASE and DEBUG configurations. -* The :command:`find_library`, :command:`find_path`, and :command:`find_file` - commands now search in installation prefixes derived from the ``PATH`` - environment variable. - * The :module:`FindCUDA` module now defaults to using the static CUDA runtime library if it is available. A new ``CUDA_USE_STATIC_CUDA_RUNTIME`` option is offered to control @@ -125,80 +134,20 @@ Changes made since CMake 3.2 include the following. multiplatform way. The module now offers APIs to create mex extensions, documentation, and unit tests. -* The :command:`find_package` command no longer considers project - build trees recently configured in a :manual:`cmake-gui(1)`. - This was previously done only on Windows and is now never done. - The ``NO_CMAKE_BUILDS_PATH`` option is now ignored if given - and effectively always on. - Projects may populate the :ref:`User Package Registry` to aid - users building multiple dependent projects one after another. - * The :module:`FindPackageHandleStandardArgs` module ``FIND_PACKAGE_HANDLE_STANDARD_ARGS`` function now - always populates the both ``_FOUND`` + always populates both the ``_FOUND`` and ``_FOUND`` variables (the latter for backwards compatibility). The ``FOUND_VAR`` option is now ignored except to enforce its allowed values. -* The :module:`CTestCoverageCollectGCOV` module learned to support - the same ``CTEST_CUSTOM_COVERAGE_EXCLUDE`` option as the - :command:`ctest_coverage` command. - -* Add a new IN_LIST operator to if() that evaluates true - if a given element is contained in a named list. - -* The :command:`install(TARGETS)` command learned to support - generator expressions in the ``DESTINATION`` value. - * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT`` option to specify the installation component. -* Linking to library files by a full path in an implicit linker search - directory (e.g. ``/usr/lib/libfoo.a``) no longer asks the linker to - search for the library (e.g. ``-lfoo``). See policy :policy:`CMP0060`. - -* The Makefile generators now add ``.DELETE_ON_ERROR`` to the - makefiles that contain the actual build rules for files on disk. - This tells GNU make to remove rule outputs when their recipe - modifies an output but fails. - -* With Makefile generators, the build-time progress output has been improved. - It no longer mixes progress and build rule messages during parallel builds. - The link rule messages now have progress and are displayed as bold green - instead of bold red (since red is often associated with an error message). - -* The :manual:`Compile Features ` functionality - is now aware of features supported by GNU compilers on Windows, versions - 4.4 through 5.0. - -* When building with GNU tools on Windows (MinGW tools), the - :command:`find_library` command will no longer consider - ``.dll`` files to be linkable libraries. All dynamic link - libraries are expected to provide separate ``.dll.a`` or - ``.lib`` import libraries. - -* The :generator:`Ninja` generator now requires that calls to the - :command:`add_custom_command` and :command:`add_custom_target` - commands use the ``BYPRODUCTS`` option to explicitly specify any - files generated by the custom commands that are not listed as - outputs (perhaps because their timestamps are allowed to be older - than the inputs). See policy :policy:`CMP0058`. - -* The :command:`add_definitions()` command no longer causes a - :prop_dir:`DEFINITIONS` directory property to be populated. See policy - :policy:`CMP0059`. - -* The :module:`CPackRPM` module learned a new - :variable:`CPACK_RPM__PACKAGE_ARCHITECTURE` variable - to specify a component-specific package architecture. - -* The :ref:`Makefile Generators` and the :generator:`Ninja` generator - learned to optionally run ``include-what-you-use`` along with the - compiler for ``C`` and ``CXX`` languages. See the - :variable:`CMAKE__INCLUDE_WHAT_YOU_USE` variable and - :prop_tgt:`_INCLUDE_WHAT_YOU_USE` target property for details. +Generator Expressions +--------------------- * A new ``COMPILE_LANGUAGE`` generator expression was introduced to allow specification of compile options for target files based on the @@ -207,46 +156,41 @@ Changes made since CMake 3.2 include the following. generators. See the :manual:`cmake-generator-expressions(7)` manual for details. -* The :manual:`cmake(1)` ``-E tar`` command learned a new - ``--format`` option to specify the archive format to - be written. +CTest +----- -* The :module:`UseSWIG` module ``SWIG_ADD_MODULE`` macro no - longer attaches the swig invocation custom command to the - ``.i`` source file in IDE projects. This is because only - one custom command can be safely attached to a given source - file, and adding multiple modules with the same ``.i`` file - for different languages requires more than one such command. +* The :manual:`ctest(1)` tool learned a new ``--repeat-until-fail `` + option to help find sporadic test failures. -* The :generator:`Visual Studio 10 2010` generator no longer checks - for running VS IDEs with the project open or asks them to reload. - This was originally done for VS 10 because it had been done for - VS 7 through 9 to avoid prompting for every project in a solution. - Since VS >= 10 allow the whole solution to reload at once they - do not need CMake to help them. +* The :module:`CTestCoverageCollectGCOV` module learned to support + the same ``CTEST_CUSTOM_COVERAGE_EXCLUDE`` option as the + :command:`ctest_coverage` command. -* The :generator:`Visual Studio 6` generator is now deprecated - and will be removed in a future version of CMake. +CPack +----- -* The :generator:`Visual Studio 7` generator (.NET 2002) is now - deprecated and will be removed in a future version of CMake. +* The :manual:`cpack(1)` ``IFW`` generator and the :module:`CPackIFW` + module learned to support Qt Framework Installer 2.0 tools. -* The :variable:`CMAKE_CFG_INTDIR` variable value for Visual Studio - 7, 8, and 9 is now ``$(ConfigurationName)`` instead of ``$(OutDir)``. - This should have no effect on the intended use cases of the variable. +* The :module:`CPackDeb` module learned a new + :variable:`CPACK_DEBIAN__PACKAGE_SHLIBDEPS` + variable to specify per-component use of ``dpkg-shlibdeps``. -* With Visual Studio 7, 8, and 9 generators the value of the ``$(OutDir)`` - placeholder no longer evaluates to the configuration name. Projects - should use ``$(ConfigurationName)`` for that instead. +* The :module:`CPackDeb` module learned a new + :variable:`CPACK_DEBIAN__PACKAGE_DEPENDS` + option to specify per-component dependencies. -* The :ref:`Visual Studio Generators` learned a new - :variable:`CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD` option - to put the ``INSTALL`` target in the default build of a - solution (``.sln``) file. +* The :module:`CPackRPM` module learned to package symbolic links + more cleanly and now supports directory symlinks with recent + ``rpmbuild`` versions. -* The :ref:`Visual Studio Generators` learned to support ``.xaml`` - source files and automatically associate them with corresponding - ``.h`` and ``.cpp`` sources. +* The :module:`CPackRPM` module learned a new + :variable:`CPACK_RPM_ADDITIONAL_MAN_DIRS` variable to specify + directories containing man pages for the brp-compress RPM macro. + +* The :module:`CPackRPM` module learned a new + :variable:`CPACK_RPM__PACKAGE_ARCHITECTURE` variable + to specify a component-specific package architecture. * The CPack WIX generator learned the new :prop_inst:`CPACK_START_MENU_SHORTCUTS`, @@ -255,9 +199,95 @@ Changes made since CMake 3.2 include the following. be used to install shorcuts in the Start Menu, on the Desktop and in the Startup Folder respectively. -* The :prop_tgt:`XCODE_ATTRIBUTE_` target property learned - to support generator expressions. +Other +----- + +* The :manual:`Compile Features ` functionality + is now aware of features supported by GNU compilers on Windows, versions + 4.4 through 5.0. + +* The :manual:`cmake(1)` ``-E tar`` command learned a new + ``--format`` option to specify the archive format to + be written. * On OS X, CMake learned to create XCTest bundles to test Frameworks and App Bundles within Xcode. The :module:`FindXCTest` module provides convenience functions to handle :prop_tgt:`XCTEST` bundles. + +Deprecated and Removed Features +=============================== + +* On OS X the :manual:`cmake-gui(1)` no longer has the + ``Install For Command Line Use`` menu item. Instead there + is a ``How to Install For Command Line Use`` menu item + that shows an informational dialog box explaining how to + make the command line tools available. For example:: + + /Applications/CMake.app/Contents/bin/cmake-gui --install + +* The :command:`ctest_build` and :command:`build_command` commands + no longer tell ``make`` tools to ignore errors with the ``-i`` option. + Previously this was done for :ref:`Makefile Generators` but not others. + See policy :policy:`CMP0061`. + +* The :generator:`Visual Studio 10 2010` generator no longer checks + for running VS IDEs with the project open or asks them to reload. + This was originally done for VS 10 because it had been done for + VS 7 through 9 to avoid prompting for every project in a solution. + Since VS >= 10 allow the whole solution to reload at once they + do not need CMake to help them. + +* The :generator:`Visual Studio 7` generator (.NET 2002) is now + deprecated and will be removed in a future version of CMake. + +* The :generator:`Visual Studio 6` generator is now deprecated + and will be removed in a future version of CMake. + +* The :command:`find_package` command no longer considers project + build trees recently configured in a :manual:`cmake-gui(1)`. + This was previously done only on Windows and is now never done. + The ``NO_CMAKE_BUILDS_PATH`` option is now ignored if given + and effectively always on. + Projects may populate the :ref:`User Package Registry` to aid + users building multiple dependent projects one after another. + +* When building with GNU tools on Windows (MinGW tools), the + :command:`find_library` command will no longer consider + ``.dll`` files to be linkable libraries. All dynamic link + libraries are expected to provide separate ``.dll.a`` or + ``.lib`` import libraries. + +* The :command:`add_definitions()` command no longer causes a + :prop_dir:`DEFINITIONS` directory property to be populated. See policy + :policy:`CMP0059`. + +* With Visual Studio 7, 8, and 9 generators the value of the ``$(OutDir)`` + placeholder no longer evaluates to the configuration name. Projects + should use ``$(ConfigurationName)`` for that instead. + +* Using the output of :command:`export()` with the :command:`install(FILES)` + command is no longer allowed. See policy :policy:`CMP0062` for details. + +Other Changes +============= + +* The :generator:`Ninja` generator now requires that calls to the + :command:`add_custom_command` and :command:`add_custom_target` + commands use the ``BYPRODUCTS`` option to explicitly specify any + files generated by the custom commands that are not listed as + outputs (perhaps because their timestamps are allowed to be older + than the inputs). See policy :policy:`CMP0058`. + +* Build-time progress output of :ref:`Makefile Generators` has been improved. + It no longer mixes progress and build rule messages during parallel builds. + The link rule messages now have progress and are displayed as bold green + instead of bold red (since red is often associated with an error message). + +* The :variable:`CMAKE_CFG_INTDIR` variable value for Visual Studio + 7, 8, and 9 is now ``$(ConfigurationName)`` instead of ``$(OutDir)``. + This should have no effect on the intended use cases of the variable. + +* Linking to library files by a full path in an implicit linker search + directory (e.g. ``/usr/lib/libfoo.a``) no longer asks the linker to + search for the library (e.g. ``-lfoo``) and now links by full path. + See policy :policy:`CMP0060`.