summaryrefslogtreecommitdiffstats
path: root/Help/release/dev
diff options
context:
space:
mode:
Diffstat (limited to 'Help/release/dev')
-rw-r--r--Help/release/dev/0-sample-topic.rst7
-rw-r--r--Help/release/dev/CheckIncludeFiles-language-CXX.rst6
-rw-r--r--Help/release/dev/CodeBlocks-custom-compiler-id.rst6
-rw-r--r--Help/release/dev/FetchContent.rst11
-rw-r--r--Help/release/dev/FindIconv.rst4
-rw-r--r--Help/release/dev/FindOpenGL-glvnd-policy.rst5
-rw-r--r--Help/release/dev/WriteBasicConfigVersionFile_SameMinorVersion.rst5
-rw-r--r--Help/release/dev/blas-lapack-flame.rst5
-rw-r--r--Help/release/dev/cmake-default-dir-install-permissions.rst12
-rw-r--r--Help/release/dev/cmake-job-pool.rst7
-rw-r--r--Help/release/dev/cmake-open.rst6
-rw-r--r--Help/release/dev/cuda-sep-comp-var.rst6
-rw-r--r--Help/release/dev/curl_netrc_options.rst14
-rw-r--r--Help/release/dev/defer-target-source-check.rst6
-rw-r--r--Help/release/dev/deprecate-policy-old.rst8
-rw-r--r--Help/release/dev/extend-compile-language-genex.rst7
-rw-r--r--Help/release/dev/fortran-compiler-launcher.rst8
-rw-r--r--Help/release/dev/generalize-importedtargets-behavior.rst25
-rw-r--r--Help/release/dev/generator-instance.rst8
-rw-r--r--Help/release/dev/imported-promotion.rst15
-rw-r--r--Help/release/dev/ti-compiler-depfile-support.rst4
-rw-r--r--Help/release/dev/vs-hlsl-opt-dbg.rst6
-rw-r--r--Help/release/dev/whitelist-more-interface-properties.rst7
-rw-r--r--Help/release/dev/write-single-xcodeproj.rst8
24 files changed, 196 insertions, 0 deletions
diff --git a/Help/release/dev/0-sample-topic.rst b/Help/release/dev/0-sample-topic.rst
new file mode 100644
index 0000000..e4cc01e
--- /dev/null
+++ b/Help/release/dev/0-sample-topic.rst
@@ -0,0 +1,7 @@
+0-sample-topic
+--------------
+
+* This is a sample release note for the change in a topic.
+ Developers should add similar notes for each topic branch
+ making a noteworthy change. Each document should be named
+ and titled to match the topic name to avoid merge conflicts.
diff --git a/Help/release/dev/CheckIncludeFiles-language-CXX.rst b/Help/release/dev/CheckIncludeFiles-language-CXX.rst
new file mode 100644
index 0000000..1631a5e
--- /dev/null
+++ b/Help/release/dev/CheckIncludeFiles-language-CXX.rst
@@ -0,0 +1,6 @@
+CheckIncludeFiles-language-CXX
+------------------------------
+
+* The :module:`CheckIncludeFiles` module :command:`CHECK_INCLUDE_FILES`
+ command gained a ``LANGUAGE`` option to specify whether to check using the
+ ``C`` or ``CXX`` compiler.
diff --git a/Help/release/dev/CodeBlocks-custom-compiler-id.rst b/Help/release/dev/CodeBlocks-custom-compiler-id.rst
new file mode 100644
index 0000000..893bd5c
--- /dev/null
+++ b/Help/release/dev/CodeBlocks-custom-compiler-id.rst
@@ -0,0 +1,6 @@
+CodeBlocks-custom-compiler-id
+-----------------------------
+
+* The :generator:`CodeBlocks` extra generator learned to check a
+ :variable:`CMAKE_CODEBLOCKS_COMPILER_ID` variable for a custom
+ compiler identification value to place in the project file.
diff --git a/Help/release/dev/FetchContent.rst b/Help/release/dev/FetchContent.rst
new file mode 100644
index 0000000..3b12977
--- /dev/null
+++ b/Help/release/dev/FetchContent.rst
@@ -0,0 +1,11 @@
+FetchContent
+------------
+
+* A new :module:`FetchContent` module was added which supports populating
+ content at configure time using any of the download/update methods
+ supported by :command:`ExternalProject_Add`. This allows the content
+ to be used immediately during the configure stage, such as with
+ :command:`add_subdirectory`, etc. Hierarchical project structures are
+ well supported, allowing parent projects to override the content details
+ of child projects and ensuring content is not populated multiple times
+ throughout the whole project tree.
diff --git a/Help/release/dev/FindIconv.rst b/Help/release/dev/FindIconv.rst
new file mode 100644
index 0000000..98f2591
--- /dev/null
+++ b/Help/release/dev/FindIconv.rst
@@ -0,0 +1,4 @@
+FindIconv
+---------
+
+* A :module:`FindIconv` module was added to locate iconv support.
diff --git a/Help/release/dev/FindOpenGL-glvnd-policy.rst b/Help/release/dev/FindOpenGL-glvnd-policy.rst
new file mode 100644
index 0000000..3348acf
--- /dev/null
+++ b/Help/release/dev/FindOpenGL-glvnd-policy.rst
@@ -0,0 +1,5 @@
+FindOpenGL-glvnd-policy
+-----------------------
+
+* The :module:`FindOpenGL` module now prefers GLVND libraries if available.
+ See policy :policy:`CMP0072`.
diff --git a/Help/release/dev/WriteBasicConfigVersionFile_SameMinorVersion.rst b/Help/release/dev/WriteBasicConfigVersionFile_SameMinorVersion.rst
new file mode 100644
index 0000000..7f1c4d0
--- /dev/null
+++ b/Help/release/dev/WriteBasicConfigVersionFile_SameMinorVersion.rst
@@ -0,0 +1,5 @@
+WriteBasicConfigFile_SameMinorVersion
+-------------------------------------
+
+* The :command:`write_basic_package_version_file` understands a new
+ ``SameMinorVersion`` option for the ``COMPATIBILITY`` argument.
diff --git a/Help/release/dev/blas-lapack-flame.rst b/Help/release/dev/blas-lapack-flame.rst
new file mode 100644
index 0000000..fdc3a69
--- /dev/null
+++ b/Help/release/dev/blas-lapack-flame.rst
@@ -0,0 +1,5 @@
+blas-lapack-flame
+-----------------
+
+* The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support
+ `FLAME <https://github.com/flame>`__ ``blis`` and ``libflame``.
diff --git a/Help/release/dev/cmake-default-dir-install-permissions.rst b/Help/release/dev/cmake-default-dir-install-permissions.rst
new file mode 100644
index 0000000..8325fda
--- /dev/null
+++ b/Help/release/dev/cmake-default-dir-install-permissions.rst
@@ -0,0 +1,12 @@
+cmake-default-dir-install-permissions
+-------------------------------------
+
+* The :variable:`CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS` variable was added
+ to enable setting of default permissions for directories created implicitly
+ during installation of files by :command:`install` and
+ :command:`file(INSTALL)`.
+
+* The :variable:`CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS` variable was added
+ which serves the same purpose during packaging as the
+ :variable:`CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS` variable serves during
+ installation (e.g. ``make install``).
diff --git a/Help/release/dev/cmake-job-pool.rst b/Help/release/dev/cmake-job-pool.rst
new file mode 100644
index 0000000..836d9c1
--- /dev/null
+++ b/Help/release/dev/cmake-job-pool.rst
@@ -0,0 +1,7 @@
+cmake-job-pool
+--------------
+
+* A :variable:`CMAKE_JOB_POOLS` variable was added specify a value to use for
+ the :prop_gbl:`JOB_POOLS` property. This enables control over build
+ parallelism with command line configuration parameters when using the Ninja
+ generator.
diff --git a/Help/release/dev/cmake-open.rst b/Help/release/dev/cmake-open.rst
new file mode 100644
index 0000000..a8f77ae
--- /dev/null
+++ b/Help/release/dev/cmake-open.rst
@@ -0,0 +1,6 @@
+cmake-open
+----------
+
+* The :manual:`cmake(1)` ``--open <dir>`` command line option can now
+ be used to open generated IDE projects like Visual Studio solutions
+ or Xcode projects.
diff --git a/Help/release/dev/cuda-sep-comp-var.rst b/Help/release/dev/cuda-sep-comp-var.rst
new file mode 100644
index 0000000..23536ef
--- /dev/null
+++ b/Help/release/dev/cuda-sep-comp-var.rst
@@ -0,0 +1,6 @@
+cuda-sep-comp-var
+-----------------
+
+* A :variable:`CMAKE_CUDA_SEPARABLE_COMPILATION` variable was added to
+ initialize the :prop_tgt:`CUDA_SEPARABLE_COMPILATION` target property
+ on targets when they are created.
diff --git a/Help/release/dev/curl_netrc_options.rst b/Help/release/dev/curl_netrc_options.rst
new file mode 100644
index 0000000..850c9ce
--- /dev/null
+++ b/Help/release/dev/curl_netrc_options.rst
@@ -0,0 +1,14 @@
+curl_netrc_options
+------------------
+
+* The :command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands
+ gained ``NETRC`` and ``NETRC_FILE`` options to specify use of a
+ ``.netrc`` file.
+
+* The :module:`ExternalProject` module gained ``NETRC`` and ``NETRC_FILE``
+ options to specify use of a ``.netrc`` file.
+
+* The :variable:`CMAKE_NETRC` and :variable:`CMAKE_NETRC_FILE` variables
+ were added to specify use of a ``.netrc`` file by the
+ :command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands and
+ the :module:`ExternalProject` module.
diff --git a/Help/release/dev/defer-target-source-check.rst b/Help/release/dev/defer-target-source-check.rst
new file mode 100644
index 0000000..65f5488
--- /dev/null
+++ b/Help/release/dev/defer-target-source-check.rst
@@ -0,0 +1,6 @@
+defer-target-source-check
+-------------------------
+
+* :command:`add_library` and :command:`add_executable` commands can now be
+ called without any sources and will not complain as long as sources will
+ be added later via :command:`target_sources`.
diff --git a/Help/release/dev/deprecate-policy-old.rst b/Help/release/dev/deprecate-policy-old.rst
new file mode 100644
index 0000000..bcfa70a
--- /dev/null
+++ b/Help/release/dev/deprecate-policy-old.rst
@@ -0,0 +1,8 @@
+deprecate-policy-old
+--------------------
+
+* An explicit deprecation diagnostic was added for policies ``CMP0037``
+ through ``CMP0054`` (``CMP0036`` and below were already deprecated).
+ The :manual:`cmake-policies(7)` manual explains that the OLD behaviors
+ of all policies are deprecated and that projects should port to the
+ NEW behaviors.
diff --git a/Help/release/dev/extend-compile-language-genex.rst b/Help/release/dev/extend-compile-language-genex.rst
new file mode 100644
index 0000000..0a0a669
--- /dev/null
+++ b/Help/release/dev/extend-compile-language-genex.rst
@@ -0,0 +1,7 @@
+extend-compile-language-genex
+-----------------------------
+
+* The ``COMPILE_LANGUAGE`` :manual:`generator expression
+ <cmake-generator-expressions(7)>` may now be used with
+ :ref:`Visual Studio Generators` in :prop_tgt:`COMPILE_OPTIONS`
+ and :command:`file(GENERATE)`.
diff --git a/Help/release/dev/fortran-compiler-launcher.rst b/Help/release/dev/fortran-compiler-launcher.rst
new file mode 100644
index 0000000..ce254f1
--- /dev/null
+++ b/Help/release/dev/fortran-compiler-launcher.rst
@@ -0,0 +1,8 @@
+fortran-compiler-launcher
+-------------------------
+
+* The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned
+ to add compiler launcher tools along with the compiler for the ``Fortran``
+ language (``C``, ``CXX``, and ``CUDA`` were supported previously).
+ See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and
+ :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details.
diff --git a/Help/release/dev/generalize-importedtargets-behavior.rst b/Help/release/dev/generalize-importedtargets-behavior.rst
new file mode 100644
index 0000000..c6f4523
--- /dev/null
+++ b/Help/release/dev/generalize-importedtargets-behavior.rst
@@ -0,0 +1,25 @@
+generalize-importedtargets-behavior
+-----------------------------------
+
+* The :command:`target_compile_definitions` command learned to set the
+ :prop_tgt:`INTERFACE_COMPILE_DEFINITIONS` property on
+ :ref:`Imported Targets`.
+
+* The :command:`target_compile_features` command learned to set the
+ :prop_tgt:`INTERFACE_COMPILE_FEATURES` property on :ref:`Imported Targets`.
+
+* The :command:`target_compile_options` command learned to set the
+ :prop_tgt:`INTERFACE_COMPILE_OPTIONS` property on :ref:`Imported Targets`.
+
+* The :command:`target_include_directories` command learned to set the
+ :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` property on
+ :ref:`Imported Targets`.
+
+* The :command:`target_sources` command learned to set the
+ :prop_tgt:`INTERFACE_SOURCES` property on :ref:`Imported Targets`.
+
+* The :command:`target_link_libraries` command learned to set the
+ :prop_tgt:`INTERFACE_LINK_LIBRARIES` property on :ref:`Imported Targets`.
+
+* :ref:`Alias Targets` may now alias :ref:`Imported Targets` that are
+ created with the ``GLOBAL`` option to :command:`add_library`.
diff --git a/Help/release/dev/generator-instance.rst b/Help/release/dev/generator-instance.rst
new file mode 100644
index 0000000..a3ff658
--- /dev/null
+++ b/Help/release/dev/generator-instance.rst
@@ -0,0 +1,8 @@
+generator-instance
+------------------
+
+* A :variable:`CMAKE_GENERATOR_INSTANCE` variable was introduced
+ to hold the selected instance of the generator's corresponding
+ native tools if multiple are available. This is used by the
+ :generator:`Visual Studio 15 2017` generator to hold the
+ selected instance of Visual Studio persistently.
diff --git a/Help/release/dev/imported-promotion.rst b/Help/release/dev/imported-promotion.rst
new file mode 100644
index 0000000..d184178
--- /dev/null
+++ b/Help/release/dev/imported-promotion.rst
@@ -0,0 +1,15 @@
+imported-promotion
+------------------
+
+* Added new target-property :prop_tgt:`IMPORTED_GLOBAL` which
+ indicates if an :ref:`IMPORTED target <Imported Targets>` is
+ globally visible.
+ It will be set automatically if such an imported target is
+ created with the ``GLOBAL`` flag.
+
+* Additionally, it is now also possible to promote a local imported
+ target to become globally visible by setting its
+ :prop_tgt:`IMPORTED_GLOBAL` property to `TRUE`. (However, this
+ promotion can only succeed if it is done from within the same
+ directory where the imported target was created in the first
+ place.) Setting it to `FALSE` is not supported!
diff --git a/Help/release/dev/ti-compiler-depfile-support.rst b/Help/release/dev/ti-compiler-depfile-support.rst
new file mode 100644
index 0000000..f870afd
--- /dev/null
+++ b/Help/release/dev/ti-compiler-depfile-support.rst
@@ -0,0 +1,4 @@
+ti-compiler-depfile-support
+---------------------------
+
+* TI C/C++ compilers are now supported by the :generator:`Ninja` generator.
diff --git a/Help/release/dev/vs-hlsl-opt-dbg.rst b/Help/release/dev/vs-hlsl-opt-dbg.rst
new file mode 100644
index 0000000..8f398ae
--- /dev/null
+++ b/Help/release/dev/vs-hlsl-opt-dbg.rst
@@ -0,0 +1,6 @@
+vs-hlsl-opt-dbg
+---------------
+
+* Source file properties :prop_sf:`VS_SHADER_DISABLE_OPTIMIZATIONS` and
+ :prop_sf:`VS_SHADER_ENABLE_DEBUG` have been added to specify more
+ details of ``.hlsl`` sources with :ref:`Visual Studio Generators`.
diff --git a/Help/release/dev/whitelist-more-interface-properties.rst b/Help/release/dev/whitelist-more-interface-properties.rst
new file mode 100644
index 0000000..793361c
--- /dev/null
+++ b/Help/release/dev/whitelist-more-interface-properties.rst
@@ -0,0 +1,7 @@
+whitelist-more-interface-properties
+-----------------------------------
+
+* ``INTERFACE`` libraries may now have custom properties set on them if they
+ start with either an underscore (``_``) or a lowercase ASCII character. The
+ original intention was to only allow properties which made sense for
+ ``INTERFACE`` libraries, but it also blocked usage of custom properties.
diff --git a/Help/release/dev/write-single-xcodeproj.rst b/Help/release/dev/write-single-xcodeproj.rst
new file mode 100644
index 0000000..d5e9fef
--- /dev/null
+++ b/Help/release/dev/write-single-xcodeproj.rst
@@ -0,0 +1,8 @@
+write-single-xcodeproj
+----------------------
+
+* The :generator:`Xcode` generator behavior of generating one project
+ file per :command:`project()` command could now be controlled with the
+ :variable:`CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY` variable.
+ This could be useful to speed up the CMake generation step for
+ large projects and to work-around a bug in the ``ZERO_CHECK`` logic.