diff options
Diffstat (limited to 'cfront/cmake/modules')
| -rw-r--r-- | cfront/cmake/modules/CFrontConfig.cmake.in | 8 | ||||
| -rw-r--r-- | cfront/cmake/modules/CFrontConfigVersion.cmake.in | 13 | ||||
| -rw-r--r-- | cfront/cmake/modules/CMakeLists.txt | 35 |
3 files changed, 56 insertions, 0 deletions
diff --git a/cfront/cmake/modules/CFrontConfig.cmake.in b/cfront/cmake/modules/CFrontConfig.cmake.in new file mode 100644 index 0000000..3b1a800 --- /dev/null +++ b/cfront/cmake/modules/CFrontConfig.cmake.in @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) +find_dependency(RCC @RCC_VERSION@ EXACT CONFIG HINTS "@CFRONT_PACKAGE_RCC_CMAKE_DIR@") +set(CFRONT_CMAKE_DIR "@CFRONT_PACKAGE_MODULE_DIR@") +include("${CMAKE_CURRENT_LIST_DIR}/CFrontTargets.cmake") diff --git a/cfront/cmake/modules/CFrontConfigVersion.cmake.in b/cfront/cmake/modules/CFrontConfigVersion.cmake.in new file mode 100644 index 0000000..f7d5ea4 --- /dev/null +++ b/cfront/cmake/modules/CFrontConfigVersion.cmake.in @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +set(PACKAGE_VERSION "@PROJECT_VERSION@") + +# Match major and minor versions; accept the requested patch version or newer. +if("@PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@" VERSION_EQUAL + "${PACKAGE_FIND_VERSION_MAJOR}.${PACKAGE_FIND_VERSION_MINOR}" + AND NOT "@PROJECT_VERSION_PATCH@" VERSION_LESS "${PACKAGE_FIND_VERSION_PATCH}") + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if("@PROJECT_VERSION_PATCH@" VERSION_EQUAL "${PACKAGE_FIND_VERSION_PATCH}") + set(PACKAGE_VERSION_EXACT TRUE) + endif() +endif() diff --git a/cfront/cmake/modules/CMakeLists.txt b/cfront/cmake/modules/CMakeLists.txt new file mode 100644 index 0000000..634ba34 --- /dev/null +++ b/cfront/cmake/modules/CMakeLists.txt @@ -0,0 +1,35 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +include(CMakePackageConfigHelpers) + +set(cfrontPackageDir "${CFRONT_BINARY_DIR}/lib/cmake/CFront") +set(cfrontInstallPackageDir "${CMAKE_INSTALL_LIBDIR}/cmake/CFront") +set(CFRONT_PACKAGE_MODULE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") +if(CFRONT_STANDALONE_BUILD) + set(CFRONT_PACKAGE_RCC_CMAKE_DIR "${RCC_DIR}") +else() + set(CFRONT_PACKAGE_RCC_CMAKE_DIR "${RCC_BINARY_DIR}/lib/cmake/RCC") +endif() +configure_package_config_file(CFrontConfig.cmake.in + "${cfrontPackageDir}/CFrontConfig.cmake" + INSTALL_DESTINATION "${cfrontPackageDir}" + NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO) +export(EXPORT CFrontTargets FILE "${cfrontPackageDir}/CFrontTargets.cmake") + +set(CFRONT_PACKAGE_MODULE_DIR "\${CMAKE_CURRENT_LIST_DIR}") +if(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") + set(CFRONT_PACKAGE_RCC_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/RCC") +else() + set(CFRONT_PACKAGE_RCC_CMAKE_DIR "\${PACKAGE_PREFIX_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/RCC") +endif() +configure_package_config_file(CFrontConfig.cmake.in CFrontConfig.install.cmake + INSTALL_DESTINATION "${cfrontInstallPackageDir}" + NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO) +configure_file(CFrontConfigVersion.cmake.in + "${cfrontPackageDir}/CFrontConfigVersion.cmake" @ONLY) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/CFrontConfig.install.cmake" + DESTINATION "${cfrontInstallPackageDir}" RENAME CFrontConfig.cmake) +install(FILES "${cfrontPackageDir}/CFrontConfigVersion.cmake" AddCFront.cmake + DESTINATION "${cfrontInstallPackageDir}") +install(EXPORT CFrontTargets FILE CFrontTargets.cmake + DESTINATION "${cfrontInstallPackageDir}") |
