[Cmake-commits] CMake branch, next, updated. v3.0.0-4167-g58fb132
Brad King
brad.king at kitware.com
Wed Jul 9 12:57:14 EDT 2014
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 58fb132fd71d372d9f39b8fdd9753630d91b64f4 (commit)
via cfab942e5ff8463f8053564e68179da110280b43 (commit)
from 91c083862a078f4c37ef7088ff2edd0833719a61 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=58fb132fd71d372d9f39b8fdd9753630d91b64f4
commit 58fb132fd71d372d9f39b8fdd9753630d91b64f4
Merge: 91c0838 cfab942
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Jul 9 12:57:13 2014 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Jul 9 12:57:13 2014 -0400
Merge topic 'doc-package-target-import-once' into next
cfab942e Help: Update cmake-packages.7 examples to import targets only once
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cfab942e5ff8463f8053564e68179da110280b43
commit cfab942e5ff8463f8053564e68179da110280b43
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Jul 9 12:54:22 2014 -0400
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Jul 9 12:57:19 2014 -0400
Help: Update cmake-packages.7 examples to import targets only once
Package configuration files should load their targets files at most once
in a given scope. Update our ClimbingStats example to show how to do
this.
diff --git a/Help/manual/cmake-packages.7.rst b/Help/manual/cmake-packages.7.rst
index c4cca6d..5badd48 100644
--- a/Help/manual/cmake-packages.7.rst
+++ b/Help/manual/cmake-packages.7.rst
@@ -385,9 +385,12 @@ In this case, the ``ClimbingStatsConfig.cmake`` file could be as simple as:
.. code-block:: cmake
- include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsTargets.cmake")
+ if(NOT TARGET Upstream::ClimbingStats)
+ include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsTargets.cmake")
+ endif()
-As this allows downstreams to use the ``IMPORTED`` targets. If any macros
+This allows downstreams to use the ``IMPORTED`` targets, and guards
+against importing the targets more than once. If any macros
should be provided by the ``ClimbingStats`` package, they should
be in a separate file which is installed to the same location as the
``ClimbingStatsConfig.cmake`` file, and included from there.
@@ -454,7 +457,9 @@ dependencies of a package should be found in the ``Config.cmake`` file:
include(CMakeFindDependencyMacro)
find_dependency(Stats 2.6.4)
- include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsTargets.cmake")
+ if(NOT TARGET Upstream::ClimbingStats)
+ include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsTargets.cmake")
+ endif()
include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsMacros.cmake")
The ``find_dependency`` macro also sets ``ClimbingStats_FOUND`` to ``False`` if
@@ -471,7 +476,9 @@ be true. This can be tested with logic in the package configuration file:
include(CMakeFindDependencyMacro)
find_dependency(Stats 2.6.4)
- include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsTargets.cmake")
+ if(NOT TARGET Upstream::ClimbingStats)
+ include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsTargets.cmake")
+ endif()
include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsMacros.cmake")
set(_supported_components Plot Table)
-----------------------------------------------------------------------
Summary of changes:
Help/manual/cmake-packages.7.rst | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list