From 60baa2dec401c5b2c66f4b585c3d3b60c474bce2 Mon Sep 17 00:00:00 2001 From: Dennis Klein Date: Fri, 14 Jun 2024 11:43:04 +0200 Subject: [PATCH] build: Export `FairRoot_CMAKE_MODULES_DIR` Co-authored-by: @ChristianTackeGSI --- cmake/CMakeLists.txt | 16 +++++++------- cmake/modules/FindFairRoot.cmake | 30 ++++++++++++++++----------- cmake/private/FairRootConfig.cmake.in | 3 ++- cmake/private/FairRootPackage.cmake | 5 +++-- 4 files changed, 32 insertions(+), 22 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 2e1559c802..79c8a0147a 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -1,12 +1,14 @@ - ################################################################################ - # Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH # - # # - # This software is distributed under the terms of the # - # GNU Lesser General Public Licence (LGPL) version 3, # - # copied verbatim in the file "LICENSE" # - ################################################################################ +################################################################################ +# Copyright (C) 2014-2024 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH # +# # +# This software is distributed under the terms of the # +# GNU Lesser General Public Licence (LGPL) version 3, # +# copied verbatim in the file "LICENSE" # +################################################################################ + install(DIRECTORY modules scripts DESTINATION ${PROJECT_INSTALL_DATADIR}/cmake ) +set(PROJECT_CMAKE_MODULES_DIR ${PROJECT_INSTALL_DATADIR}/cmake/modules PARENT_SCOPE) diff --git a/cmake/modules/FindFairRoot.cmake b/cmake/modules/FindFairRoot.cmake index 6fd2de4ce2..f6e0a07f04 100644 --- a/cmake/modules/FindFairRoot.cmake +++ b/cmake/modules/FindFairRoot.cmake @@ -1,11 +1,11 @@ - ################################################################################ - # Copyright (C) 2014-2023 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH # - # # - # This software is distributed under the terms of the # - # GNU Lesser General Public Licence (LGPL) version 3, # - # copied verbatim in the file "LICENSE" # - ################################################################################ -# Find FairRoot installation +################################################################################ +# Copyright (C) 2014-2024 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH # +# # +# This software is distributed under the terms of the # +# GNU Lesser General Public Licence (LGPL) version 3, # +# copied verbatim in the file "LICENSE" # +################################################################################ +# Find FairRoot installation # Check the environment variable "FAIRROOTPATH" include(FindPackageHandleStandardArgs) @@ -49,10 +49,16 @@ FIND_PATH(FAIRROOT_LIBRARY_DIR NAMES libBase.so libBase.dylib PATHS ${FAIRROOTPATH}/lib64 ) -FIND_PATH(FAIRROOT_CMAKEMOD_DIR - NAMES modules/FindFairRoot.cmake modules/ROOTMacros.cmake - PATHS ${FAIRROOTPATH}/share/fairbase/cmake -) +if(FairRoot_CMAKE_MODULES_DIR) + set(FAIRROOT_CMAKEMOD_DIR "${FairRoot_CMAKE_MODULES_DIR}" + CACHE PATH "FairRoot CMake Modules Directory" + ) +else() + FIND_PATH(FAIRROOT_CMAKEMOD_DIR + NAMES modules/FindFairRoot.cmake modules/ROOTMacros.cmake + PATHS ${FAIRROOTPATH}/share/fairbase/cmake + ) +endif() find_package_handle_standard_args(FairRoot CONFIG_MODE REQUIRED_VARS FAIRROOT_INCLUDE_DIR diff --git a/cmake/private/FairRootConfig.cmake.in b/cmake/private/FairRootConfig.cmake.in index a3d84fdcbc..327af7bb7b 100644 --- a/cmake/private/FairRootConfig.cmake.in +++ b/cmake/private/FairRootConfig.cmake.in @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (C) 2021-2022 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH # +# Copyright (C) 2021-2024 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH # # # # This software is distributed under the terms of the # # GNU Lesser General Public Licence (LGPL) version 3, # @@ -10,6 +10,7 @@ set_and_check(@PROJECT_NAME@_PREFIX "@PACKAGE_CMAKE_INSTALL_PREFIX@") set(@PROJECT_NAME@_BINDIR "@PACKAGE_CMAKE_INSTALL_FULL_BINDIR@") +set(@PROJECT_NAME@_CMAKE_MODULES_DIR "@PACKAGE_PROJECT_CMAKE_MODULES_DIR@") set(@PROJECT_NAME@_GIT_VERSION "@PROJECT_GIT_VERSION@") set(@PROJECT_NAME@_CXX_STANDARD "@CMAKE_CXX_STANDARD@") diff --git a/cmake/private/FairRootPackage.cmake b/cmake/private/FairRootPackage.cmake index 76b70f6f69..5ee12bd8a4 100644 --- a/cmake/private/FairRootPackage.cmake +++ b/cmake/private/FairRootPackage.cmake @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (C) 2021-2022 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH # +# Copyright (C) 2021-2024 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH # # # # This software is distributed under the terms of the # # GNU Lesser General Public Licence (LGPL) version 3, # @@ -32,7 +32,8 @@ function(install_cmake_package) PATH_VARS CMAKE_INSTALL_PREFIX CMAKE_INSTALL_FULL_BINDIR - PACKAGE_INSTALL_DESTINATION) + PACKAGE_INSTALL_DESTINATION + PROJECT_CMAKE_MODULES_DIR) write_basic_package_version_file( "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" VERSION "${PROJECT_VERSION}"