Skip to content

Commit ded9494

Browse files
committed
cmake: only add package target for libgit2 itself
1 parent 5d6e679 commit ded9494

File tree

3 files changed

+24
-25
lines changed

3 files changed

+24
-25
lines changed

src/CMakeLists.txt

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -199,30 +199,6 @@ add_feature_info(iconv GIT_USE_ICONV "iconv encoding conversion support")
199199
# Include child projects
200200
#
201201

202-
set(LIBGIT2_GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated")
203-
set(LIBGIT2_VERSION_CONFIG "${LIBGIT2_GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake")
204-
set(LIBGIT2_PROJECT_CONFIG "${LIBGIT2_GENERATED_DIR}/${PROJECT_NAME}Config.cmake")
205-
set(LIBGIT2_TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
206-
set(LIBGIT2_CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}")
207-
set(LIBGIT2_NAMESPACE "${PROJECT_NAME}::")
208-
set(LIBGIT2_VERSION ${PROJECT_VERSION})
209-
210-
include(CMakePackageConfigHelpers)
211-
write_basic_package_version_file(
212-
"${LIBGIT2_VERSION_CONFIG}" VERSION ${LIBGIT2_VERSION} COMPATIBILITY SameMajorVersion
213-
)
214-
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_utils/config.cmake.in" "${LIBGIT2_PROJECT_CONFIG}" @ONLY)
215-
216-
# Install cmake config files
217-
install(
218-
FILES "${LIBGIT2_PROJECT_CONFIG}" "${LIBGIT2_VERSION_CONFIG}"
219-
DESTINATION "${LIBGIT2_CONFIG_INSTALL_DIR}")
220-
221-
install(
222-
EXPORT "${LIBGIT2_TARGETS_EXPORT_NAME}"
223-
NAMESPACE "${LIBGIT2_NAMESPACE}"
224-
DESTINATION "${LIBGIT2_CONFIG_INSTALL_DIR}")
225-
226202
add_subdirectory(libgit2)
227203
add_subdirectory(util)
228204

src/libgit2/CMakeLists.txt

Lines changed: 24 additions & 1 deletion
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"
@@ -102,10 +103,32 @@ FILE(READ "${PROJECT_SOURCE_DIR}/include/git2.h" LIBGIT2_INCLUDE)
102103
STRING(REGEX REPLACE "#include \"git2\/" "#include \"${LIBGIT2_FILENAME}/" LIBGIT2_INCLUDE "${LIBGIT2_INCLUDE}")
103104
FILE(WRITE "${PROJECT_BINARY_DIR}/include/${LIBGIT2_FILENAME}.h" ${LIBGIT2_INCLUDE})
104105

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+
105128
# Install
106129

107130
install(TARGETS libgit2package
108-
EXPORT ${LIBGIT2_TARGETS_EXPORT_NAME}
131+
EXPORT ${LIBGIT2_TARGETS_EXPORT_NAME}
109132
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
110133
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
111134
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})

0 commit comments

Comments
 (0)