Skip to content

Commit 84ebfe2

Browse files
author
peng.li24
committed
fix(boxmalloc):cmake
1 parent b46b3a4 commit 84ebfe2

2 files changed

Lines changed: 38 additions & 31 deletions

File tree

CMakeLists.txt

Lines changed: 2 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -64,34 +64,5 @@ endif()
6464

6565
add_subdirectory(test)
6666

67-
# install
68-
install(TARGETS boxmalloc
69-
EXPORT boxmallocTargets
70-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
71-
)
72-
73-
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
74-
75-
# Export targets and generate CMake config package
76-
include(CMakePackageConfigHelpers)
77-
write_basic_package_version_file(
78-
"${CMAKE_CURRENT_BINARY_DIR}/boxmallocConfigVersion.cmake"
79-
VERSION ${PROJECT_VERSION}
80-
COMPATIBILITY AnyNewerVersion
81-
)
82-
83-
configure_file(
84-
"${CMAKE_CURRENT_LIST_DIR}/cmake/BoxmallocConfig.cmake.in"
85-
"${CMAKE_CURRENT_BINARY_DIR}/boxmallocConfig.cmake"
86-
@ONLY
87-
)
88-
89-
install(EXPORT boxmallocTargets
90-
FILE boxmallocTargets.cmake
91-
NAMESPACE boxmalloc::
92-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/boxmalloc-${PROJECT_VERSION}
93-
)
94-
95-
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/boxmallocConfig.cmake"
96-
"${CMAKE_CURRENT_BINARY_DIR}/boxmallocConfigVersion.cmake"
97-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/boxmalloc-${PROJECT_VERSION})
67+
# 将安装/打包相关配置委托到 cmake/packagex.cmake 以便复用和打包脚本共享
68+
include("${CMAKE_CURRENT_LIST_DIR}/cmake/packagex.cmake")

cmake/packagex.cmake

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Packaging + install helpers moved here so deb/cmake packaging logic can be reused.
2+
# This file expects to be included from the project root CMakeLists.txt where
3+
# PROJECT_VERSION and GNUInstallDirs variables are already defined.
4+
5+
# install library and export targets
6+
install(TARGETS boxmalloc
7+
EXPORT boxmallocTargets
8+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
9+
)
10+
11+
# install public headers
12+
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/../include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
13+
14+
# Export targets and generate CMake config package
15+
include(CMakePackageConfigHelpers)
16+
write_basic_package_version_file(
17+
"${CMAKE_CURRENT_BINARY_DIR}/boxmallocConfigVersion.cmake"
18+
VERSION ${PROJECT_VERSION}
19+
COMPATIBILITY AnyNewerVersion
20+
)
21+
22+
configure_file(
23+
"${CMAKE_CURRENT_LIST_DIR}/BoxmallocConfig.cmake.in"
24+
"${CMAKE_CURRENT_BINARY_DIR}/boxmallocConfig.cmake"
25+
@ONLY
26+
)
27+
28+
install(EXPORT boxmallocTargets
29+
FILE boxmallocTargets.cmake
30+
NAMESPACE boxmalloc::
31+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/boxmalloc-${PROJECT_VERSION}
32+
)
33+
34+
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/boxmallocConfig.cmake"
35+
"${CMAKE_CURRENT_BINARY_DIR}/boxmallocConfigVersion.cmake"
36+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/boxmalloc-${PROJECT_VERSION})

0 commit comments

Comments
 (0)