Просто создайте разные <package>-config.cmake
файлы для export()
и install(EXPORT)
. В этих файлах у вас может быть переменная, которая их различает.
Вы даже можете создать оба файла из одного шаблона, используя команду configure_file
с другой средой CMake (переменные):
-config.cmake.in
set(IS_BUILD_INTERFACE @IS_BUILD_INTERFACE@)
# other commands, inclusion of other files, etc.
-macros.cmake
if(IS_BUILD_INTERFACE)
# Part of build interface
else()
# Part of install interface
endif()
CMakeLists.txt :
# Prepare the file for build interface exporting
set(IS_BUILD_INTERFACE ON)
configure_file(<package>-config.cmake.in <package>-config.cmake @ONLY)
export(PACKAGE <package>)
# Prepare the file for install interface exporting
set(IS_BUILD_INTERFACE OFF)
configure_file(<package>-config.cmake.in <package>-config.cmake.install @ONLY)
install(FILES <package>-config.cmake.install DESTINATION cmake)