@@ -34,19 +34,52 @@ file(GLOB src
3434
3535target_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
4142include (GenerateExportHeader)
4243generate_export_header(${PROJECT_NAME} )
4344
4445# install
4546install (
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)
4850install (
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+ )
0 commit comments