diff options
| author | Richard Qin <richard.qin.x@gmail.com> | 2026-10-20 01:30:20 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.x@gmail.com> | 2026-10-20 01:30:20 +0800 |
| commit | 3e8d7d1270ace353cce0080a80021dcc7532f2be (patch) | |
| tree | a8bf9d52c4ce609c5d4d1e9c7249d148e4cb6271 /cfront/cmake/modules/CMakeLists.txt | |
| parent | a59ba0e3eda5381623a4929486b2f673a883d8d8 (diff) | |
| download | rcc-project-3e8d7d1270ace353cce0080a80021dcc7532f2be.tar.gz rcc-project-3e8d7d1270ace353cce0080a80021dcc7532f2be.tar.xz | |
[CMake] Establish RCC and CFront builds and package exports
Diffstat (limited to 'cfront/cmake/modules/CMakeLists.txt')
| -rw-r--r-- | cfront/cmake/modules/CMakeLists.txt | 35 |
1 files changed, 35 insertions, 0 deletions
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}") |
