diff options
author | Brad King <brad.king@kitware.com> | 2014-01-07 14:39:22 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2014-01-07 14:39:22 (GMT) |
commit | 855e8759fdf20a209f19f02e8dc5d203f4713a6a (patch) | |
tree | db9481bddcca00eaa5f5da2b632c23f7453125ac /Help | |
parent | f74b607aa3aaf4910b824bca09b0a369dbc57ee9 (diff) | |
parent | 3917d86b261f0b88eb5cf0e8d2700c70cebdbe4b (diff) | |
download | CMake-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.rst | 2 | ||||
-rw-r--r-- | Help/manual/cmake-generator-expressions.7.rst | 2 | ||||
-rw-r--r-- | Help/manual/cmake-packages.7.rst | 26 | ||||
-rw-r--r-- | Help/manual/cmake-toolchains.7.rst | 6 | ||||
-rw-r--r-- | Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst | 6 |
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. |