|
4 | 4 | add_library(libgit2 OBJECT) |
5 | 5 |
|
6 | 6 | include(PkgBuildConfig) |
| 7 | +include(CMakePackageConfigHelpers) |
7 | 8 |
|
8 | 9 | set(LIBGIT2_INCLUDES |
9 | 10 | "${PROJECT_BINARY_DIR}/src/util" |
@@ -57,6 +58,7 @@ set(LIBGIT2_SYSTEM_LIBS ${LIBGIT2_SYSTEM_LIBS} PARENT_SCOPE) |
57 | 58 | add_library(libgit2package ${SRC_RC} ${LIBGIT2_OBJECTS}) |
58 | 59 | target_link_libraries(libgit2package ${LIBGIT2_SYSTEM_LIBS}) |
59 | 60 | target_include_directories(libgit2package SYSTEM PRIVATE ${LIBGIT2_INCLUDES}) |
| 61 | +target_include_directories(libgit2package INTERFACE $<INSTALL_INTERFACE:./include/git2>) |
60 | 62 |
|
61 | 63 | set_target_properties(libgit2package PROPERTIES C_STANDARD 90) |
62 | 64 | set_target_properties(libgit2package PROPERTIES C_EXTENSIONS OFF) |
@@ -101,9 +103,32 @@ FILE(READ "${PROJECT_SOURCE_DIR}/include/git2.h" LIBGIT2_INCLUDE) |
101 | 103 | STRING(REGEX REPLACE "#include \"git2\/" "#include \"${LIBGIT2_FILENAME}/" LIBGIT2_INCLUDE "${LIBGIT2_INCLUDE}") |
102 | 104 | FILE(WRITE "${PROJECT_BINARY_DIR}/include/${LIBGIT2_FILENAME}.h" ${LIBGIT2_INCLUDE}) |
103 | 105 |
|
| 106 | +# cmake package targets |
| 107 | + |
| 108 | +set(LIBGIT2_TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") |
| 109 | + |
| 110 | +write_basic_package_version_file( |
| 111 | + "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake" |
| 112 | + VERSION ${PROJECT_VERSION} |
| 113 | + COMPATIBILITY SameMajorVersion) |
| 114 | + |
| 115 | +configure_file(config.cmake.in |
| 116 | + "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake" |
| 117 | + @ONLY) |
| 118 | + |
| 119 | +install(FILES |
| 120 | + "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake" |
| 121 | + "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake" |
| 122 | + DESTINATION "lib/cmake/${PROJECT_NAME}") |
| 123 | +install( |
| 124 | + EXPORT ${LIBGIT2_TARGETS_EXPORT_NAME} |
| 125 | + NAMESPACE "${PROJECT_NAME}::" |
| 126 | + DESTINATION "lib/cmake/${PROJECT_NAME}") |
| 127 | + |
104 | 128 | # Install |
105 | 129 |
|
106 | 130 | install(TARGETS libgit2package |
| 131 | + EXPORT ${LIBGIT2_TARGETS_EXPORT_NAME} |
107 | 132 | RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} |
108 | 133 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |
109 | 134 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
|
0 commit comments