From 0199b3fd17fca361bba4eec93209c0b74c0f7340 Mon Sep 17 00:00:00 2001 From: Charles Karney Date: Sat, 10 Feb 2018 17:17:27 -0500 Subject: Re-do pull request #451 export CMake targets with PROJ4:: namespace This version takes to add the include path to the target definition for cmake 2.8.11 and later. Also the documentation sticks to the existing convention of using cmake variables ${PROJ4_LIBRARIES} and ${PROJ4_INCLUDE_DIRS}. However, the namespace variables are still being included. Here's the roll-out plan (0) Version 4.9.x: The target is proj and PROJ4_LIBRARIES is set to this. (1) Version 5.0.x: Two targets, proj and PROJ4::proj, are defined; PROJ4_LIBRARIES = proj. (2) In a year or two: Two targets, proj and PROJ4::proj, are defined; PROJ4_LIBRARIES = PROJ4::proj. (3) With a change in the library which breaks backwards compatibility: The target is PROJ4::proj and PROJ4_LIBRARIES = PROJ4::proj. --- cmake/CMakeLists.txt | 4 ++++ cmake/project-config.cmake.in | 1 + 2 files changed, 5 insertions(+) (limited to 'cmake') diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 0fcde0ca..7073b7b4 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -21,3 +21,7 @@ install (FILES install (EXPORT targets FILE ${PROJECT_NAME_LOWER}-targets.cmake DESTINATION "${CMAKECONFIGDIR}") +install (EXPORT targets + NAMESPACE ${PROJECT_NAME}:: + FILE ${PROJECT_NAME_LOWER}-namespace-targets.cmake + DESTINATION "${CMAKECONFIGDIR}") diff --git a/cmake/project-config.cmake.in b/cmake/project-config.cmake.in index 9a52b3b5..57445463 100644 --- a/cmake/project-config.cmake.in +++ b/cmake/project-config.cmake.in @@ -23,6 +23,7 @@ set (@PROJECT_NAME@_BINARY_DIRS "${_ROOT}/@BINDIR@") set (@PROJECT_NAME@_LIBRARIES proj) # Read in the exported definition of the library include ("${_DIR}/@PROJECT_NAME_LOWER@-targets.cmake") +include ("${_DIR}/@PROJECT_NAME_LOWER@-namespace-targets.cmake") unset (_ROOT) unset (_DIR) -- cgit v1.2.3