summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
Diffstat (limited to 'Help')
-rw-r--r--Help/command/add_library.rst6
-rw-r--r--Help/command/enable_language.rst5
-rw-r--r--Help/command/project.rst6
-rw-r--r--Help/manual/cmake-modules.7.rst1
-rw-r--r--Help/manual/cmake-server.7.rst53
-rw-r--r--Help/manual/cmake-variables.7.rst1
-rw-r--r--Help/module/FindIconv.rst1
-rw-r--r--Help/prop_gbl/JOB_POOLS.rst3
-rw-r--r--Help/prop_sf/COMPILE_DEFINITIONS.rst10
-rw-r--r--Help/release/3.10.rst12
-rw-r--r--Help/release/dev/FindIconv.rst4
-rw-r--r--Help/release/dev/cmake-job-pool.rst7
-rw-r--r--Help/release/dev/src-COMPILE_DEFINITIONS-genex.rst5
-rw-r--r--Help/release/dev/whitelist-more-interface-properties.rst7
-rw-r--r--Help/variable/CMAKE_JOB_POOLS.rst6
15 files changed, 70 insertions, 57 deletions
diff --git a/Help/command/add_library.rst b/Help/command/add_library.rst
index 4e85d8c..3706153 100644
--- a/Help/command/add_library.rst
+++ b/Help/command/add_library.rst
@@ -111,9 +111,9 @@ may contain only sources that compile, header files, and other files
that would not affect linking of a normal library (e.g. ``.txt``).
They may contain custom commands generating such sources, but not
``PRE_BUILD``, ``PRE_LINK``, or ``POST_BUILD`` commands. Object libraries
-cannot be linked. Some native build systems may not like targets that
-have only object files, so consider adding at least one real source file
-to any target that references ``$<TARGET_OBJECTS:objlib>``.
+cannot be linked. Some native build systems (such as Xcode) may not like
+targets that have only object files, so consider adding at least one real
+source file to any target that references ``$<TARGET_OBJECTS:objlib>``.
Alias Libraries
^^^^^^^^^^^^^^^
diff --git a/Help/command/enable_language.rst b/Help/command/enable_language.rst
index 871ac4e..61dfc03 100644
--- a/Help/command/enable_language.rst
+++ b/Help/command/enable_language.rst
@@ -10,7 +10,10 @@ Enable a language (CXX/C/Fortran/etc)
This command enables support for the named language in CMake. This is
the same as the project command but does not create any of the extra
variables that are created by the project command. Example languages
-are CXX, C, Fortran.
+are ``CXX``, ``C``, ``CUDA``, ``Fortran``, and ``ASM``.
+
+If enabling ``ASM``, enable it last so that CMake can check whether
+compilers for other languages like ``C`` work for assembly too.
This command must be called in file scope, not in a function call.
Furthermore, it must be called in the highest directory common to all
diff --git a/Help/command/project.rst b/Help/command/project.rst
index 139f69c..eb185e4 100644
--- a/Help/command/project.rst
+++ b/Help/command/project.rst
@@ -46,11 +46,15 @@ variable will be set to its argument. The argument must be a string with short
description of the project (only a few words).
Optionally you can specify which languages your project supports.
-Example languages are ``C``, ``CXX`` (i.e. C++), ``Fortran``, etc.
+Example languages include ``C``, ``CXX`` (i.e. C++), ``CUDA``,
+``Fortran``, and ``ASM``.
By default ``C`` and ``CXX`` are enabled if no language options are
given. Specify language ``NONE``, or use the ``LANGUAGES`` keyword
and list no languages, to skip enabling any languages.
+If enabling ``ASM``, list it last so that CMake can check whether
+compilers for other languages like ``C`` work for assembly too.
+
If a variable exists called :variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE`,
the file pointed to by that variable will be included as the last step of the
project command.
diff --git a/Help/manual/cmake-modules.7.rst b/Help/manual/cmake-modules.7.rst
index 9fd92ec..694bae5 100644
--- a/Help/manual/cmake-modules.7.rst
+++ b/Help/manual/cmake-modules.7.rst
@@ -130,6 +130,7 @@ All Modules
/module/FindIcotool
/module/FindICU
/module/FindImageMagick
+ /module/FindIconv
/module/FindIntl
/module/FindITK
/module/FindJasper
diff --git a/Help/manual/cmake-server.7.rst b/Help/manual/cmake-server.7.rst
index c2aef99..28171c6 100644
--- a/Help/manual/cmake-server.7.rst
+++ b/Help/manual/cmake-server.7.rst
@@ -517,9 +517,6 @@ Each target object can have the following keys:
with the sysroot path.
"fileGroups"
contains the source files making up the target.
-"crossReferences"
- contains the location of the target in the corresponding CMakeLists.txt
- file and the locations of the related statements like "target_link_libraries"
FileGroups are used to group sources using similar settings together.
@@ -545,16 +542,6 @@ Each fileGroup object may contain the following keys:
All file paths in the fileGroup are either absolute or relative to the
sourceDirectory of the target.
-CrossReferences object is used to report the location of the target (including
-the entire call stack if the target is defined in a function) and the related
-"target_link_libraries", "target_include_directories", "target_compile_definitions"
-and "target_compile_options" statements.
-
-See the example below for details on the internal format of the "crossReferences" object.
-Line numbers stated in the "backtrace" entries are 1-based. The last entry of a backtrace
-is a special entry with missing "line" and "name" fields that specifies the initial
-CMakeLists.txt file.
-
Example::
[== "CMake Server" ==[
@@ -591,34 +578,7 @@ CMake will reply::
"linkerLanguage": "C",
"name": "cmForm",
"sourceDirectory": "/home/code/src/cmake/Source/CursesDialog/form",
- "type": "STATIC_LIBRARY",
- "crossReferences": {
- "backtrace": [
- {
- "line": 7,
- "name": "add_executable",
- "path": "C:/full/path/CMakeLists.txt"
- },
- {
- "path": "c:/full/path/CMakeLists.txt"
- }
- ],
- "relatedStatements": [
- {
- "backtrace": [
- {
- "line": 8,
- "name": "target_link_libraries",
- "path": "c:/full/path/CMakeLists.txt"
- },
- {
- "path": "c:/full/path/CMakeLists.txt"
- }
- ],
- "type": "target_link_libraries"
- }
- ]
- }
+ "type": "STATIC_LIBRARY"
}
]
},
@@ -669,17 +629,6 @@ Each test object can have the following keys:
contains the test command.
"properties"
contains a list of test property objects.
-"backtrace"
- contains a list of backtrace objects that specify where the test was defined.
-
-Each backtrace object can have the following keys:
-
-"path"
- contains the full path to the file containing the statement.
-"line"
- contains the line number in the file where the statement was defined.
-"name"
- contains the name of the statement that added the test.
Each test property object can have the following keys:
diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst
index 1dce3e0..735b93b 100644
--- a/Help/manual/cmake-variables.7.rst
+++ b/Help/manual/cmake-variables.7.rst
@@ -50,6 +50,7 @@ Variables that Provide Information
/variable/CMAKE_IMPORT_LIBRARY_SUFFIX
/variable/CMAKE_JOB_POOL_COMPILE
/variable/CMAKE_JOB_POOL_LINK
+ /variable/CMAKE_JOB_POOLS
/variable/CMAKE_LANG_COMPILER_AR
/variable/CMAKE_LANG_COMPILER_RANLIB
/variable/CMAKE_LINK_LIBRARY_SUFFIX
diff --git a/Help/module/FindIconv.rst b/Help/module/FindIconv.rst
new file mode 100644
index 0000000..c1f3ed0
--- /dev/null
+++ b/Help/module/FindIconv.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/FindIconv.cmake
diff --git a/Help/prop_gbl/JOB_POOLS.rst b/Help/prop_gbl/JOB_POOLS.rst
index 2ce74b8..b904f7a 100644
--- a/Help/prop_gbl/JOB_POOLS.rst
+++ b/Help/prop_gbl/JOB_POOLS.rst
@@ -19,5 +19,8 @@ Defined pools could be used globally by setting
or per target by setting the target properties
:prop_tgt:`JOB_POOL_COMPILE` and :prop_tgt:`JOB_POOL_LINK`.
+If not set, this property uses the value of the :variable:`CMAKE_JOB_POOLS`
+variable.
+
Build targets provided by CMake that are meant for individual interactive
use, such as ``install``, are placed in the ``console`` pool automatically.
diff --git a/Help/prop_sf/COMPILE_DEFINITIONS.rst b/Help/prop_sf/COMPILE_DEFINITIONS.rst
index 1626825..8d2108c 100644
--- a/Help/prop_sf/COMPILE_DEFINITIONS.rst
+++ b/Help/prop_sf/COMPILE_DEFINITIONS.rst
@@ -17,3 +17,13 @@ by the native build tool. Xcode does not support per-configuration
definitions on source files.
.. include:: /include/COMPILE_DEFINITIONS_DISCLAIMER.txt
+
+Contents of ``COMPILE_DEFINITIONS`` may use "generator expressions"
+with the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)`
+manual for available expressions. However, :generator:`Xcode`
+does not support per-config per-source settings, so expressions
+that depend on the build configuration are not allowed with that
+generator.
+
+Generator expressions should be preferred instead of setting the alternative per-configuration
+property.
diff --git a/Help/release/3.10.rst b/Help/release/3.10.rst
index 35fe602..6a19dbf 100644
--- a/Help/release/3.10.rst
+++ b/Help/release/3.10.rst
@@ -255,3 +255,15 @@ Other Changes
incompatible with the old behavior, it is expected that behavior
under typical use cases with properly-quoted command-lines has
not changed.
+
+Updates
+=======
+
+Changes made since CMake 3.10.0 include the following.
+
+3.10.1
+------
+
+* The :manual:`cmake-server(7)` ``codemodel`` response ``crossReferences``
+ field added by 3.10.0 has been dropped due to excessive memory usage.
+ Another approach will be needed to provide backtrace information.
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/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/src-COMPILE_DEFINITIONS-genex.rst b/Help/release/dev/src-COMPILE_DEFINITIONS-genex.rst
new file mode 100644
index 0000000..892344f
--- /dev/null
+++ b/Help/release/dev/src-COMPILE_DEFINITIONS-genex.rst
@@ -0,0 +1,5 @@
+src-COMPILE_DEFINITIONS-genex
+-----------------------------
+
+* The :prop_sf:`COMPILE_DEFINITIONS` source file property learned to support
+ :manual:`generator expressions <cmake-generator-expressions(7)>`.
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/variable/CMAKE_JOB_POOLS.rst b/Help/variable/CMAKE_JOB_POOLS.rst
new file mode 100644
index 0000000..72b50b4
--- /dev/null
+++ b/Help/variable/CMAKE_JOB_POOLS.rst
@@ -0,0 +1,6 @@
+CMAKE_JOB_POOLS
+---------------
+
+If the :prop_gbl:`JOB_POOLS` global property is not set, the value
+of this variable is used in its place. See :prop_gbl:`JOB_POOLS`
+for additional information.