Skip to content

Commit 838875e

Browse files
committed
Merge branch 'cmake_target'
2 parents 5350142 + ded9494 commit 838875e

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

src/libgit2/CMakeLists.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
add_library(libgit2 OBJECT)
55

66
include(PkgBuildConfig)
7+
include(CMakePackageConfigHelpers)
78

89
set(LIBGIT2_INCLUDES
910
"${PROJECT_BINARY_DIR}/src/util"
@@ -57,6 +58,7 @@ set(LIBGIT2_SYSTEM_LIBS ${LIBGIT2_SYSTEM_LIBS} PARENT_SCOPE)
5758
add_library(libgit2package ${SRC_RC} ${LIBGIT2_OBJECTS})
5859
target_link_libraries(libgit2package ${LIBGIT2_SYSTEM_LIBS})
5960
target_include_directories(libgit2package SYSTEM PRIVATE ${LIBGIT2_INCLUDES})
61+
target_include_directories(libgit2package INTERFACE $<INSTALL_INTERFACE:./include/git2>)
6062

6163
set_target_properties(libgit2package PROPERTIES C_STANDARD 90)
6264
set_target_properties(libgit2package PROPERTIES C_EXTENSIONS OFF)
@@ -101,9 +103,32 @@ FILE(READ "${PROJECT_SOURCE_DIR}/include/git2.h" LIBGIT2_INCLUDE)
101103
STRING(REGEX REPLACE "#include \"git2\/" "#include \"${LIBGIT2_FILENAME}/" LIBGIT2_INCLUDE "${LIBGIT2_INCLUDE}")
102104
FILE(WRITE "${PROJECT_BINARY_DIR}/include/${LIBGIT2_FILENAME}.h" ${LIBGIT2_INCLUDE})
103105

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+
104128
# Install
105129

106130
install(TARGETS libgit2package
131+
EXPORT ${LIBGIT2_TARGETS_EXPORT_NAME}
107132
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
108133
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
109134
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})

src/libgit2/config.cmake.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
include(CMakeFindDependencyMacro)
2+
3+
include("${CMAKE_CURRENT_LIST_DIR}/@[email protected]")

0 commit comments

Comments
 (0)