From b9b32d0ec9175fd60fbf40d07d6018337e885e59 Mon Sep 17 00:00:00 2001 From: Jens Georg <jens.georg@desy.de> Date: Tue, 24 Sep 2019 13:01:45 +0200 Subject: [PATCH] Add public dependencies to Config.cmake To add public dependencies to the generated config, use e.g. list(APPEND ${PROJECT_NAME}_PUBLIC_DEPENDENCIES "Boost COMPONENTS system thread chrono") --- cmake/PROJECT_NAMEConfig.cmake.in.in | 2 ++ cmake/create_cmake_config_files.cmake | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/cmake/PROJECT_NAMEConfig.cmake.in.in b/cmake/PROJECT_NAMEConfig.cmake.in.in index 2102790..92c8207 100644 --- a/cmake/PROJECT_NAMEConfig.cmake.in.in +++ b/cmake/PROJECT_NAMEConfig.cmake.in.in @@ -34,6 +34,8 @@ FIND_LIBRARY(@PROJECT_NAME@_LIBRARY @PROJECT_NAME@ NO_DEFAULT_PATH ) +@@PROJECT_NAME@_PUBLIC_DEPENDENCIES_L@ + # Since this file is already part of the installation to be found, the configuration can be hard-coded at # installation time set(@PROJECT_NAME@_VERSION "@@PROJECT_NAME@_SOVERSION@") diff --git a/cmake/create_cmake_config_files.cmake b/cmake/create_cmake_config_files.cmake index fe03409..13fc78d 100644 --- a/cmake/create_cmake_config_files.cmake +++ b/cmake/create_cmake_config_files.cmake @@ -53,6 +53,11 @@ foreach(LIBRARY ${LIST}) endif() endforeach() +set(${PROJECT_NAME}_PUBLIC_DEPENDENCIES_L "") +foreach(DEPENDENCY ${${PROJECT_NAME}_PUBLIC_DEPENDENCIES}) + string(APPEND ${PROJECT_NAME}_PUBLIC_DEPENDENCIES_L "find_package(${DEPENDENCY} REQUIRED)\n") +endforeach() + # we have nested @-statements, so we have to parse twice: # create the cmake find_package configuration file -- GitLab