summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-01-07 14:39:22 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2014-01-07 14:39:22 (GMT)
commit855e8759fdf20a209f19f02e8dc5d203f4713a6a (patch)
treedb9481bddcca00eaa5f5da2b632c23f7453125ac /Help
parentf74b607aa3aaf4910b824bca09b0a369dbc57ee9 (diff)
parent3917d86b261f0b88eb5cf0e8d2700c70cebdbe4b (diff)
downloadCMake-855e8759fdf20a209f19f02e8dc5d203f4713a6a.zip
CMake-855e8759fdf20a209f19f02e8dc5d203f4713a6a.tar.gz
CMake-855e8759fdf20a209f19f02e8dc5d203f4713a6a.tar.bz2
Merge topic 'minor-cleanups'
3917d86 Genex: Add a nullary form for CONFIG 5169130 Help: Document the target properties exported to IMPORTED targets. ee21f1c CompatibleInterface: Test debugging of not-set property. 80e9fe9 Help: Note that language-specific 'built-ins' are set by the project command. 0b5bf8a Help: Mention CMAKE_DISABLE_FIND_PACKAGE_<PackageName> in package docs. 28c865b Tests: simplify Qt4 target usage 6cfe6b8 Help: Fix typo: 'target' -> 'target property' b7deca4 Test: Remove obsolete commented code. 9c9f69f Genex: Make EQUAL support upper case binary literals 6eb3218 Genex: Fix case of methods in the dag checker. 646c6ec Genex: Use a preprocessor loop to implement transitive DAG check. 711fb38 Genex: List transitive properties and methods as a table, not two lists. 802a28f Add cmHasLiteralSuffix API.
Diffstat (limited to 'Help')
-rw-r--r--Help/manual/cmake-buildsystem.7.rst2
-rw-r--r--Help/manual/cmake-generator-expressions.7.rst2
-rw-r--r--Help/manual/cmake-packages.7.rst26
-rw-r--r--Help/manual/cmake-toolchains.7.rst6
-rw-r--r--Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst6
5 files changed, 38 insertions, 4 deletions
diff --git a/Help/manual/cmake-buildsystem.7.rst b/Help/manual/cmake-buildsystem.7.rst
index be60ebb..03f9115 100644
--- a/Help/manual/cmake-buildsystem.7.rst
+++ b/Help/manual/cmake-buildsystem.7.rst
@@ -218,6 +218,8 @@ each keyword:
PRIVATE serialization
)
+.. _`Compatible Interface Properties`:
+
Compatible Interface Properties
-------------------------------
diff --git a/Help/manual/cmake-generator-expressions.7.rst b/Help/manual/cmake-generator-expressions.7.rst
index 12cfaf8..ac8c3f8 100644
--- a/Help/manual/cmake-generator-expressions.7.rst
+++ b/Help/manual/cmake-generator-expressions.7.rst
@@ -104,6 +104,8 @@ expands to ``OLD_COMPILER`` if the
than 4.2.0.
``$<CONFIGURATION>``
+ Configuration name. Deprecated. Use ``CONFIG`` instead.
+``$<CONFIG>``
Configuration name
``$<PLATFORM_ID>``
The CMake-id of the platform
diff --git a/Help/manual/cmake-packages.7.rst b/Help/manual/cmake-packages.7.rst
index 376ec78..b572bf7 100644
--- a/Help/manual/cmake-packages.7.rst
+++ b/Help/manual/cmake-packages.7.rst
@@ -72,6 +72,10 @@ or as a separate ``OPTIONAL_COMPONENTS`` list:
Handling of ``COMPONENTS`` and ``OPTIONAL_COMPONENTS`` is defined by the
package.
+By setting the :variable:`CMAKE_DISABLE_FIND_PACKAGE_<PackageName>` variable to
+``TRUE``, the ``PackageName`` package will not be searched, and will always
+be ``NOTFOUND``.
+
Config-file Packages
--------------------
@@ -276,6 +280,12 @@ shared library:
add_library(ClimbingStats SHARED climbingstats.cpp)
generate_export_header(ClimbingStats)
+ set_property(TARGET ClimbingStats PROPERTY VERSION ${Upstream_VERSION})
+ set_property(TARGET ClimbingStats PROPERTY SOVERSION 3)
+ set_property(TARGET ClimbingStats PROPERTY INTERFACE_ClimbingStats_MAJOR_VERSION 3)
+ set_property(TARGET ClimbingStats APPEND PROPERTY
+ COMPATIBLE_INTERFACE_STRING ClimbingStats_MAJOR_VERSION
+ )
install(TARGETS ClimbingStats EXPORT ClimbingStatsTargets
LIBRARY DESTINATION lib
@@ -342,6 +352,22 @@ targets, suitable for use by downsteams and arranges to install it to
and a ``cmake/ClimbingStatsConfig.cmake`` are installed to the same location,
completing the package.
+The generated :prop_tgt:`IMPORTED` targets have appropriate properties set
+to define their usage requirements, such as
+:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`,
+:prop_tgt:`INTERFACE_COMPILE_DEFINITIONS` and other relevant built-in
+``INTERFACE_`` properties. The ``INTERFACE`` variant of user-defined
+properties listed in :prop_tgt:`COMPATIBLE_INTERFACE_STRING` and
+other :ref:`Compatible Interface Properties` are also propagated to the
+generated :prop_tgt:`IMPORTED` targets. In the above case,
+``ClimbingStats_MAJOR_VERSION`` is defined as a string which must be
+compatible among the dependencies of any depender. By setting this custom
+defined user property in this version and in the next version of
+``ClimbingStats``, :manual:`cmake(1)` will issue a diagnostic if there is an
+attempt to use version 3 together with version 4. Packages can choose to
+employ such a pattern if different major versions of the package are designed
+to be incompatible.
+
A ``NAMESPACE`` with double-colons is specified when exporting the targets
for installation. This convention of double-colons gives CMake a hint that
the name is an :prop_tgt:`IMPORTED` target when it is used by downstreams
diff --git a/Help/manual/cmake-toolchains.7.rst b/Help/manual/cmake-toolchains.7.rst
index 97cd650..fb529ad 100644
--- a/Help/manual/cmake-toolchains.7.rst
+++ b/Help/manual/cmake-toolchains.7.rst
@@ -20,7 +20,11 @@ with information about compiler and utility paths.
Languages
=========
-Languages are enabled by the :command:`project` command. If no project command
+Languages are enabled by the :command:`project` command. Language-specific
+built-in variables, such as
+:variable:`CMAKE_CXX_COMPILER <CMAKE_<LANG>_COMPILER>`,
+:variable:`CMAKE_CXX_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` etc are set by
+invoking the :command:`project` command. If no project command
is in the top-level CMakeLists file, one will be implicitly generated. By default
the enabled languages are C and CXX:
diff --git a/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst b/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst
index 2bc1881..3e6c4d1 100644
--- a/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst
+++ b/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst
@@ -9,6 +9,6 @@ files. As this ``_automoc`` target is created at generate-time, it is not
possible to define dependencies of it, such as to create inputs for the ``moc``
executable.
-The ``AUTOGEN_TARGET_DEPENDS`` target can be set instead to a list of dependencies
-for the ``_automoc`` target. The buildsystem will be generated to depend on its
-contents.
+The ``AUTOGEN_TARGET_DEPENDS`` target property can be set instead to a list of
+dependencies for the ``_automoc`` target. The buildsystem will be generated to
+depend on its contents.