Skip to content

Commit a32d7e2

Browse files
cmake package config (#93)
1 parent 7d50cf7 commit a32d7e2

File tree

3 files changed

+39
-5
lines changed

3 files changed

+39
-5
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ target_sources("libxmlmm"
4545
)
4646

4747
install(
48-
TARGETS "libxmlmm"
48+
TARGETS "libxmlmm" "LibXml2" EXPORT ${PROJECT_NAME}Targets
4949
DESTINATION ${CMAKE_INSTALL_LIBDIR})
5050
install(
5151
DIRECTORY "libxmlmm"

src/libdbcppp/CMakeLists.txt

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,52 @@ file(GLOB src
3434

3535
target_sources(${PROJECT_NAME}
3636
PRIVATE ${header}
37-
PUBLIC ${header_interface}
37+
PRIVATE ${header_interface}
3838
PRIVATE ${src} DBCX3AdaptStructs.inl
3939
)
40+
set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${header_interface}")
4041

4142
include(GenerateExportHeader)
4243
generate_export_header(${PROJECT_NAME})
4344

4445
# install
4546
install(
46-
TARGETS ${PROJECT_NAME}
47-
DESTINATION ${CMAKE_INSTALL_LIBDIR})
47+
TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets
48+
DESTINATION ${CMAKE_INSTALL_LIBDIR}
49+
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dbcppp)
4850
install(
4951
FILES
50-
$<TARGET_PROPERTY:${PROJECT_NAME},INTERFACE_SOURCES>
52+
$<TARGET_PROPERTY:${PROJECT_NAME},INTERFACE_SOURCES>
5153
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dbcppp)
5254

55+
include(CMakePackageConfigHelpers)
56+
write_basic_package_version_file(
57+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake"
58+
VERSION ${Upstream_VERSION}
59+
COMPATIBILITY AnyNewerVersion
60+
)
61+
62+
export(EXPORT ${PROJECT_NAME}Targets
63+
FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}Targets.cmake"
64+
)
65+
configure_file(cmake/${PROJECT_NAME}Config.cmake
66+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}Config.cmake"
67+
@ONLY
68+
)
69+
70+
set(ConfigPackageLocation lib/cmake/${PROJECT_NAME})
71+
install(EXPORT ${PROJECT_NAME}Targets
72+
FILE
73+
${PROJECT_NAME}Targets.cmake
74+
DESTINATION
75+
${ConfigPackageLocation}
76+
)
77+
install(
78+
FILES
79+
cmake/${PROJECT_NAME}Config.cmake
80+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake"
81+
DESTINATION
82+
${ConfigPackageLocation}
83+
COMPONENT
84+
Devel
85+
)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
include("${CMAKE_CURRENT_LIST_DIR}/libdbcpppTargets.cmake")

0 commit comments

Comments
 (0)