From 58a09b64f388f59de915e3226989afd95952172c Mon Sep 17 00:00:00 2001 From: Tim Kaune <tim.kaune@gmx.de> Date: Fri, 21 Mar 2025 10:13:39 +0100 Subject: [PATCH] Make install location of CMake files a local variable Replace CMAKE_CURRENT_LIST_DIR in package config file Remove EXCLUDE_FROM_ALL from tests. Building of tests can be controlled with the BUILD_TESTING variable. --- CMakeLists.txt | 4 +--- packaging/CMakeLists.txt | 5 ++--- packaging/LoadStaticSharedTargetsConfig.cmake.in | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ce9e39..9a3bb4e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,8 +29,6 @@ cmake_minimum_required(VERSION 3.30...${CMAKE_MAXIMUM_SUPPORTED_VERSION}) project(LoadStaticSharedTargets VERSION 1.8.0 LANGUAGES NONE) -include(GNUInstallDirs) - string(COMPARE EQUAL "${CMAKE_PROJECT_NAME}" "${PROJECT_NAME}" IS_TOP_LEVEL) if (IS_TOP_LEVEL) @@ -42,7 +40,7 @@ option(LoadStaticSharedTargets_INCLUDE_PACKAGING "Include packaging rules for Lo add_subdirectory(src) if (IS_TOP_LEVEL AND BUILD_TESTING) - add_subdirectory(tests EXCLUDE_FROM_ALL) + add_subdirectory(tests) endif () if (LoadStaticSharedTargets_INCLUDE_PACKAGING) diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt index bf01321..12c00b0 100644 --- a/packaging/CMakeLists.txt +++ b/packaging/CMakeLists.txt @@ -23,15 +23,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ]] +include(GNUInstallDirs) include(CMakePackageConfigHelpers) if (NOT DEFINED LoadStaticSharedTargets_INSTALL_CMAKEDIR) set( LoadStaticSharedTargets_INSTALL_CMAKEDIR "${CMAKE_INSTALL_DATAROOTDIR}/cmake/${PROJECT_NAME}-${PROJECT_VERSION}" - CACHE - STRING - "Path to LoadStaticSharedTargets CMake files" ) endif () @@ -51,6 +49,7 @@ configure_package_config_file( "LoadStaticSharedTargetsConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/LoadStaticSharedTargetsConfig.cmake" INSTALL_DESTINATION "${LoadStaticSharedTargets_INSTALL_CMAKEDIR}" + PATH_VARS LoadStaticSharedTargets_INSTALL_CMAKEDIR ) install( diff --git a/packaging/LoadStaticSharedTargetsConfig.cmake.in b/packaging/LoadStaticSharedTargetsConfig.cmake.in index 7eb0234..0747270 100644 --- a/packaging/LoadStaticSharedTargetsConfig.cmake.in +++ b/packaging/LoadStaticSharedTargetsConfig.cmake.in @@ -28,6 +28,6 @@ SOFTWARE. cmake_minimum_required(VERSION @CMAKE_MINIMUM_REQUIRED_VERSION@...@CMAKE_MAXIMUM_SUPPORTED_VERSION@) # include(LoadStaticSharedTargets) should work after this -list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") +list(APPEND CMAKE_MODULE_PATH "@PACKAGE_LoadStaticSharedTargets_INSTALL_CMAKEDIR@") check_required_components(LoadStaticSharedTargets) -- GitLab