mirror of
https://github.com/libgit2/libgit2.git
synced 2026-01-25 02:56:17 +00:00
cmake: only add package target for libgit2 itself
This commit is contained in:
@@ -199,30 +199,6 @@ add_feature_info(iconv GIT_USE_ICONV "iconv encoding conversion support")
|
||||
# Include child projects
|
||||
#
|
||||
|
||||
set(LIBGIT2_GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated")
|
||||
set(LIBGIT2_VERSION_CONFIG "${LIBGIT2_GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake")
|
||||
set(LIBGIT2_PROJECT_CONFIG "${LIBGIT2_GENERATED_DIR}/${PROJECT_NAME}Config.cmake")
|
||||
set(LIBGIT2_TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
|
||||
set(LIBGIT2_CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}")
|
||||
set(LIBGIT2_NAMESPACE "${PROJECT_NAME}::")
|
||||
set(LIBGIT2_VERSION ${PROJECT_VERSION})
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
write_basic_package_version_file(
|
||||
"${LIBGIT2_VERSION_CONFIG}" VERSION ${LIBGIT2_VERSION} COMPATIBILITY SameMajorVersion
|
||||
)
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_utils/config.cmake.in" "${LIBGIT2_PROJECT_CONFIG}" @ONLY)
|
||||
|
||||
# Install cmake config files
|
||||
install(
|
||||
FILES "${LIBGIT2_PROJECT_CONFIG}" "${LIBGIT2_VERSION_CONFIG}"
|
||||
DESTINATION "${LIBGIT2_CONFIG_INSTALL_DIR}")
|
||||
|
||||
install(
|
||||
EXPORT "${LIBGIT2_TARGETS_EXPORT_NAME}"
|
||||
NAMESPACE "${LIBGIT2_NAMESPACE}"
|
||||
DESTINATION "${LIBGIT2_CONFIG_INSTALL_DIR}")
|
||||
|
||||
add_subdirectory(libgit2)
|
||||
add_subdirectory(util)
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
add_library(libgit2 OBJECT)
|
||||
|
||||
include(PkgBuildConfig)
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
set(LIBGIT2_INCLUDES
|
||||
"${PROJECT_BINARY_DIR}/src/util"
|
||||
@@ -102,10 +103,32 @@ FILE(READ "${PROJECT_SOURCE_DIR}/include/git2.h" LIBGIT2_INCLUDE)
|
||||
STRING(REGEX REPLACE "#include \"git2\/" "#include \"${LIBGIT2_FILENAME}/" LIBGIT2_INCLUDE "${LIBGIT2_INCLUDE}")
|
||||
FILE(WRITE "${PROJECT_BINARY_DIR}/include/${LIBGIT2_FILENAME}.h" ${LIBGIT2_INCLUDE})
|
||||
|
||||
# cmake package targets
|
||||
|
||||
set(LIBGIT2_TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
|
||||
|
||||
write_basic_package_version_file(
|
||||
"${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake"
|
||||
VERSION ${PROJECT_VERSION}
|
||||
COMPATIBILITY SameMajorVersion)
|
||||
|
||||
configure_file(config.cmake.in
|
||||
"${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake"
|
||||
@ONLY)
|
||||
|
||||
install(FILES
|
||||
"${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake"
|
||||
"${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake"
|
||||
DESTINATION "lib/cmake/${PROJECT_NAME}")
|
||||
install(
|
||||
EXPORT ${LIBGIT2_TARGETS_EXPORT_NAME}
|
||||
NAMESPACE "${PROJECT_NAME}::"
|
||||
DESTINATION "lib/cmake/${PROJECT_NAME}")
|
||||
|
||||
# Install
|
||||
|
||||
install(TARGETS libgit2package
|
||||
EXPORT ${LIBGIT2_TARGETS_EXPORT_NAME}
|
||||
EXPORT ${LIBGIT2_TARGETS_EXPORT_NAME}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
|
||||
Reference in New Issue
Block a user