mirror of
https://github.com/libgit2/libgit2.git
synced 2026-01-25 02:56:17 +00:00
Merge branch 'cmake_target'
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
add_library(libgit2 OBJECT)
|
||||
|
||||
include(PkgBuildConfig)
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
set(LIBGIT2_INCLUDES
|
||||
"${PROJECT_BINARY_DIR}/src/util"
|
||||
@@ -57,6 +58,7 @@ set(LIBGIT2_SYSTEM_LIBS ${LIBGIT2_SYSTEM_LIBS} PARENT_SCOPE)
|
||||
add_library(libgit2package ${SRC_RC} ${LIBGIT2_OBJECTS})
|
||||
target_link_libraries(libgit2package ${LIBGIT2_SYSTEM_LIBS})
|
||||
target_include_directories(libgit2package SYSTEM PRIVATE ${LIBGIT2_INCLUDES})
|
||||
target_include_directories(libgit2package INTERFACE $<INSTALL_INTERFACE:./include/git2>)
|
||||
|
||||
set_target_properties(libgit2package PROPERTIES C_STANDARD 90)
|
||||
set_target_properties(libgit2package PROPERTIES C_EXTENSIONS OFF)
|
||||
@@ -101,9 +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}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
|
||||
3
src/libgit2/config.cmake.in
Normal file
3
src/libgit2/config.cmake.in
Normal file
@@ -0,0 +1,3 @@
|
||||
include(CMakeFindDependencyMacro)
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/@LIBGIT2_TARGETS_EXPORT_NAME@.cmake")
|
||||
Reference in New Issue
Block a user