summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2023-09-07 11:34:33 +0200
committerTor Egge <Tor.Egge@online.no>2023-09-07 11:34:33 +0200
commita980fb4526bad013e3f5498b57377dcc78eb2dc6 (patch)
treec8a308365d2d2604d9386b0318ad4d456e780dfe /CMakeLists.txt
parentdaba552c567f1fcb9e300ae65825c1d97cedbb5e (diff)
Export vespa cmake config.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt32
1 files changed, 32 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1ee96529c32..a09c08951b3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -61,6 +61,38 @@ include(build_settings.cmake)
# Enable CTest unit testing
enable_testing()
+# Export vespa cmake config, to be used by other cmake project depending on vespa
+set(VESPA_CMAKECONFIG_INSTALL_DIR ${CMAKE_INSTALL_DATAROOTDIR}/cmake/vespa)
+string(REGEX REPLACE "-DV_TAG_COMPONENT=\\\\\"(.*)\\\\\"" "\\1" VESPA_VERSION ${V_TAG_COMPONENT})
+message("-- VESPA_VERSION is ${VESPA_VERSION}")
+
+include(CMakePackageConfigHelpers)
+function(vespa_configure_exported_config)
+ set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR})
+ set(INSTALL_PREFIX_DIR ${CMAKE_INSTALL_PREFIX})
+ set(CMAKECONFIG_DIR ${VESPA_CMAKECONFIG_INSTALL_DIR})
+ configure_package_config_file(cmake/vespaConfig.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/vespaConfig.cmake
+ INSTALL_DESTINATION ${VESPA_CMAKECONFIG_INSTALL_DIR}
+ PATH_VARS INCLUDE_INSTALL_DIR INSTALL_PREFIX_DIR CMAKECONFIG_DIR)
+endfunction()
+function(vespa_configure_exported_configversion)
+ write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/vespaConfigVersion.cmake
+ VERSION ${VESPA_VERSION}
+ COMPATIBILITY AnyNewerVersion)
+endfunction()
+vespa_configure_exported_config()
+vespa_configure_exported_configversion()
+install(FILES
+ functions.cmake
+ build_settings.cmake
+ default_build_settings.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/vespaConfig.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/vespaConfigVersion.cmake
+ cmake/vespaTargets.cmake
+ DESTINATION ${VESPA_CMAKECONFIG_INSTALL_DIR})
+# End of exporting vespa cmake config
+
vespa_install_data(valgrind-suppressions.txt etc/vespa)
vespa_install_data(tsan-suppressions.txt etc/vespa)