Skip to content

Commit 312b13d

Browse files
committed
use PackageNameConfig
1 parent 5183981 commit 312b13d

File tree

4 files changed

+24
-20
lines changed

4 files changed

+24
-20
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ endif()
2323

2424
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules")
2525

26-
project(iceberg
26+
project(Iceberg
2727
VERSION 0.1.0
2828
DESCRIPTION "Iceberg C++ Project"
2929
LANGUAGES CXX)

cmake_modules/BuildUtils.cmake

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,27 @@
1818
# Borrowed the file from Apache Arrow:
1919
# https://github.com/apache/arrow/blob/main/cpp/cmake_modules/BuildUtils.cmake
2020

21+
include(CMakePackageConfigHelpers)
22+
23+
function(iceberg_install_cmake_package PACKAGE_NAME EXPORT_NAME)
24+
set(CONFIG_CMAKE "${PACKAGE_NAME}Config.cmake")
25+
set(BUILT_CONFIG_CMAKE "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_CMAKE}")
26+
configure_package_config_file("${CONFIG_CMAKE}.in" "${BUILT_CONFIG_CMAKE}"
27+
INSTALL_DESTINATION "${ICEBERG_INSTALL_CMAKEDIR}/${PACKAGE_NAME}"
28+
)
29+
set(CONFIG_VERSION_CMAKE "${PACKAGE_NAME}ConfigVersion.cmake")
30+
set(BUILT_CONFIG_VERSION_CMAKE "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_VERSION_CMAKE}")
31+
write_basic_package_version_file("${BUILT_CONFIG_VERSION_CMAKE}"
32+
COMPATIBILITY SameMajorVersion)
33+
install(FILES "${BUILT_CONFIG_CMAKE}" "${BUILT_CONFIG_VERSION_CMAKE}"
34+
DESTINATION "${ICEBERG_INSTALL_CMAKEDIR}/${PACKAGE_NAME}")
35+
set(TARGETS_CMAKE "${PACKAGE_NAME}Targets.cmake")
36+
install(EXPORT ${EXPORT_NAME}
37+
DESTINATION "${ICEBERG_INSTALL_CMAKEDIR}/${PACKAGE_NAME}"
38+
NAMESPACE "${PACKAGE_NAME}::"
39+
FILE "${TARGETS_CMAKE}")
40+
endfunction()
41+
2142
function(ADD_ICEBERG_LIB LIB_NAME)
2243
set(options)
2344
set(one_value_args

src/CMakeLists.txt

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,4 @@ add_subdirectory(arrow)
1919
add_subdirectory(core)
2020
add_subdirectory(puffin)
2121

22-
include(CMakePackageConfigHelpers)
23-
24-
configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/config.cmake.in"
25-
"${CMAKE_CURRENT_BINARY_DIR}/iceberg-config.cmake"
26-
INSTALL_DESTINATION "${ICEBERG_INSTALL_CMAKEDIR}/Iceberg")
27-
28-
write_basic_package_version_file(
29-
"${CMAKE_CURRENT_BINARY_DIR}/iceberg-config-version.cmake"
30-
COMPATIBILITY SameMajorVersion)
31-
32-
install(EXPORT iceberg_targets
33-
DESTINATION "${ICEBERG_INSTALL_CMAKEDIR}/Iceberg"
34-
NAMESPACE "Iceberg::"
35-
FILE "iceberg-targets.cmake")
36-
37-
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/iceberg-config.cmake"
38-
"${CMAKE_CURRENT_BINARY_DIR}/iceberg-config-version.cmake"
39-
DESTINATION "${ICEBERG_INSTALL_CMAKEDIR}/Iceberg")
22+
iceberg_install_cmake_package(Iceberg iceberg_targets)

src/config.cmake.in renamed to src/IcebergConfig.cmake.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ macro(iceberg_find_components components)
6969
endforeach()
7070
endmacro()
7171

72-
include("${CMAKE_CURRENT_LIST_DIR}/iceberg-targets.cmake")
72+
include("${CMAKE_CURRENT_LIST_DIR}/IcebergTargets.cmake")
7373

7474
# Find required components
7575
iceberg_find_components("${Iceberg_FIND_COMPONENTS}")

0 commit comments

Comments
 (0)