diff --git a/CMakeLists.txt b/CMakeLists.txt index 32d37da3..2d1a55c4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,12 @@ cmake_policy(VERSION 3.12...3.15) # Project ###################################################################### set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) include(FairMQLib) +find_package(FairCMakeModules 0.1 QUIET) +if(NOT FairCMakeModules_FOUND) + message(WARNING "Could not find FairCMakeModules, falling back to local copy. " + "It is recommended to install https://github.com/FairRootGroup/FairCMakeModules") + list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/fallback") +endif() include(FairFindPackage2) get_git_version() diff --git a/cmake/FairFindPackage2.cmake b/cmake/fallback/FairFindPackage2.cmake similarity index 90% rename from cmake/FairFindPackage2.cmake rename to cmake/fallback/FairFindPackage2.cmake index b67c770a..a25af62a 100644 --- a/cmake/FairFindPackage2.cmake +++ b/cmake/fallback/FairFindPackage2.cmake @@ -6,8 +6,14 @@ # copied verbatim in the file "LICENSE" # ################################################################################ +if(CMAKE_VERSION VERSION_LESS 3.12) + message(FATAL_ERROR "Module FairFindPackage2 requires CMake 3.12 or later!") +endif() + +include_guard(GLOBAL) + # -# find_package2(PRIVATE|PUBLIC|INTERFACE +# find_package2(PRIVATE|PUBLIC|INTERFACE|BUNDLED # [VERSION ] # [COMPONENTS ] # [ADD_REQUIREMENTS_OF ] @@ -90,18 +96,18 @@ macro(find_package2 qualifier pkgname) if(${__qualifier__} STREQUAL PRIVATE) set(PROJECT_${pkgname}_VERSION ${__version__}) set(PROJECT_${pkgname}_COMPONENTS ${__components__}) - set(PROJECT_PACKAGE_DEPENDENCIES ${PROJECT_PACKAGE_DEPENDENCIES} ${pkgname}) + list(APPEND PROJECT_PACKAGE_DEPENDENCIES ${pkgname}) elseif(${__qualifier__} STREQUAL PUBLIC) set(PROJECT_${pkgname}_VERSION ${__version__}) set(PROJECT_${pkgname}_COMPONENTS ${__components__}) - set(PROJECT_PACKAGE_DEPENDENCIES ${PROJECT_PACKAGE_DEPENDENCIES} ${pkgname}) + list(APPEND PROJECT_PACKAGE_DEPENDENCIES ${pkgname}) set(PROJECT_INTERFACE_${pkgname}_VERSION ${__version__}) set(PROJECT_INTERFACE_${pkgname}_COMPONENTS ${__components__}) - set(PROJECT_INTERFACE_PACKAGE_DEPENDENCIES ${PROJECT_INTERFACE_PACKAGE_DEPENDENCIES} ${pkgname}) + list(APPEND PROJECT_INTERFACE_PACKAGE_DEPENDENCIES ${pkgname}) elseif(${__qualifier__} STREQUAL INTERFACE) set(PROJECT_INTERFACE_${pkgname}_VERSION ${__version__}) set(PROJECT_INTERFACE_${pkgname}_COMPONENTS ${__components__}) - set(PROJECT_INTERFACE_PACKAGE_DEPENDENCIES ${PROJECT_INTERFACE_PACKAGE_DEPENDENCIES} ${pkgname}) + list(APPEND PROJECT_INTERFACE_PACKAGE_DEPENDENCIES ${pkgname}) endif() endif()