cmake使用 ExternalProject_Add 添加外部库

本文介绍了如何通过CMake的ExternalProject_Add功能,分别集成GoogleTest用于单元测试和OpenCV进行图像处理到项目中,包括设置Git仓库、配置参数及添加链接等步骤。
摘要由CSDN通过智能技术生成

当使用外部库构建项目时,通常会遵循以下步骤:

  1. 使用 ExternalProject_Add 添加外部库。
  2. 配置外部库的参数,如 Git 仓库地址、构建选项等。
  3. 将外部库的头文件路径和库文件路径添加到当前项目中。
  4. 在项目中链接外部库。

以下是两个常见外部库的示例:

使用 Google Test 进行单元测试

cmake_minimum_required(VERSION 3.0)
project(MyProject)

include(ExternalProject)

# 添加 Google Test
ExternalProject_Add(
    googletest
    GIT_REPOSITORY https://github.com/google/googletest.git
    GIT_TAG release-1.10.0
    PREFIX ${CMAKE_BINARY_DIR}/external/googletest
    # 其他参数...
)

# 获取 Google Test 的源代码和构建目录
ExternalProject_Get_Property(googletest SOURCE_DIR BINARY_DIR)

# 将 Google Test 的头文件路径添加到项目中
include_directories(${SOURCE_DIR}/googletest/include)

# 添加测试子目录
add_subdirectory(test)

# 链接 Google Test 库到测试子目录中的测试程序
target_link_libraries(MyTestTarget libgtest libgmock)

使用 OpenCV 处理图像

cmake_minimum_required(VERSION 3.0)
project(MyProject)

include(ExternalProject)

# 添加 OpenCV
ExternalProject_Add(
    opencv
    GIT_REPOSITORY https://github.com/opencv/opencv.git
    GIT_TAG 4.5.4
    PREFIX ${CMAKE_BINARY_DIR}/external/opencv
    # 其他参数...
)

# 获取 OpenCV 的源代码和构建目录
ExternalProject_Get_Property(opencv SOURCE_DIR BINARY_DIR)

# 将 OpenCV 的头文件路径添加到项目中
include_directories(${SOURCE_DIR}/include)

# 添加主程序子目录
add_subdirectory(src)

# 链接 OpenCV 库到主程序
target_link_libraries(MyMainTarget ${BINARY_DIR}/libopencv_core.so ${BINARY_DIR}/libopencv_highgui.so)

这些示例展示了如何使用 ExternalProject_Add 来添加外部库,并将其集成到项目中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值