首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过cmake包含libgit2

如何通过cmake包含libgit2
EN

Stack Overflow用户
提问于 2016-02-13 07:24:51
回答 2查看 1.1K关注 0票数 4

如何将libgit2作为库包含在cmake中。我已经从github克隆了libgit2存储库。然后我就跑了

代码语言:javascript
复制
mkdir build && cd build
cmake ..
make
sudo make install

然后我在/usr/local/include/git2/和/usr/local/include下找到了安装的文件。

现在我必须在我的cmake文件中放入什么?

EN

回答 2

Stack Overflow用户

发布于 2016-02-14 11:47:44

FWIW我会将libgit2构建为你项目的一部分,如下所示:

代码语言:javascript
复制
# Set libgit2 options (e.g. disable shared lib)
set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
...

# Build libgit2
add_subdirectory(path/to/libgit2)

# Add your own exe or library target
add_executable(my_exe ...)

# Link libgit2 into your exe or library
target_link_libraries(my_exe git2 ...)
票数 3
EN

Stack Overflow用户

发布于 2016-02-13 09:20:57

下面是一个为您的项目量身定做的示例:

将以下内容添加到您的顶级CMakeLists.txt:

代码语言:javascript
复制
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
find_package(git2 REQUIRED)
include_directories(${GIT2_INCLUDE_DIR})

add_executable(lg2 main.c) # can be add_library, etc.

target_link_libraries(lg2 ${GIT2_LIBRARIES})

创建一个名为cmake的目录,然后在其中创建一个名为Findgit2.cmake的文件,并向其中添加以下内容:

代码语言:javascript
复制
# Find git2 Library
#
#  GIT2_INCLUDE_DIRS - where to find git2.h, etc.
#  GIT2_LIBRARIES    - List of libraries when using libgit2.
#  GIT2_FOUND        - True if libgit2 is found.

# GIT2_INCLUDE_PATH
find_path(GIT2_INCLUDE_PATH NAMES git2.h)
# GIT2_LIBRARY
find_library(GIT2_LIBRARY NAMES git2)

# handle the QUIETLY and REQUIRED arguments and set GIT2_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(libgit2 REQUIRED_VARS GIT2_LIBRARY GIT2_INCLUDE_PATH)


if (GIT2_FOUND)
  set(GIT2_INCLUDE_DIR  ${GIT2_INCLUDE_PATH})
  set(GIT2_INCLUDE_DIRS ${GIT2_INCLUDE_PATH})
  set(GIT2_LIBRARIES    ${GIT2_LIBRARY})
endif()

mark_as_advanced(
  GIT2_INCLUDE_PATH
  GIT2_LIBRARY
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35373923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档