【CMake】所见所闻所学

Note: 本贴仅记录遇到的CMake的问题,以问题为驱动。

- cmake_minimum_required

- project

- add_executable

- target_include_directories

- ExternalProject_Add

ExternalProject_Add 是 CMake 中用于管理和构建外部项目的模块。通过 ExternalProject_Add,可以在 CMake 项目中包含、构建和安装外部项目,而无需手动下载和管理这些外部项目。

以下是一个简单的示例,展示如何在 CMake 项目中使用 ExternalProject_Add 来管理外部项目:

include(ExternalProject)

ExternalProject_Add(
    my_external_project
    PREFIX ${CMAKE_BINARY_DIR}/external
    GIT_REPOSITORY https://github.com/example/my_external_project.git
    GIT_TAG master
    UPDATE_COMMAND ""
    INSTALL_COMMAND ""
)

add_executable(MyExecutable main.cpp)

add_dependencies(MyExecutable my_external_project)

target_link_libraries(MyExecutable PUBLIC ${CMAKE_BINARY_DIR}/external-prefix/src/my_external_project/lib/libmy_external_project.a)

在这个示例中:

  • 使用 ExternalProject_Add 添加了一个名为my_external_project的外部项目。
  • 通过指定 GIT_REPOSITORYGIT_TAG 来指定外部项目的Git仓库地址和分支。
  • UPDATE_COMMANDINSTALL_COMMAND为空,因为我们不需要执行更新或安装命令。
  • 创建了一个可执行文件MyExecutable,并添加了对外部项目的依赖。
  • 使用 target_link_libraries 将外部项目的库链接到可执行文件中。

相关推荐

  1. CMake所见所闻

    2024-03-23 18:06:03       40 阅读
  2. 笨蛋C++ 之 CMake的使用

    2024-03-23 18:06:03       28 阅读
  3. 分享一些外贸的所见所闻

    2024-03-23 18:06:03       32 阅读
  4. 记一次实战项目(通用接口篇)

    2024-03-23 18:06:03       41 阅读
  5. 单调栈和单调队列的一些问题

    2024-03-23 18:06:03       43 阅读
  6. CMake在Ubuntu中找不到GoogleTest需的库

    2024-03-23 18:06:03       69 阅读
  7. Cmake

    2024-03-23 18:06:03       53 阅读
  8. <span style='color:red;'>Cmake</span>

    Cmake

    2024-03-23 18:06:03      70 阅读
  9. cmake

    2024-03-23 18:06:03       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-23 18:06:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-23 18:06:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-23 18:06:03       87 阅读
  4. Python语言-面向对象

    2024-03-23 18:06:03       96 阅读

热门阅读

  1. 机器学习揭秘:解锁从理论到实践的每一步!

    2024-03-23 18:06:03       45 阅读
  2. 部署Elasticsearch集群,实现海量航迹数据存储

    2024-03-23 18:06:03       41 阅读
  3. linux查看攻击者ip

    2024-03-23 18:06:03       34 阅读
  4. 实现节流防止连点方法以及调用方式

    2024-03-23 18:06:03       40 阅读
  5. 在Linux 中,如何配置网桥?如何配置虚拟网络

    2024-03-23 18:06:03       39 阅读
  6. Elasticsearch7.10.2安装在EC2上面

    2024-03-23 18:06:03       39 阅读
  7. 20个perl常用的实用脚本

    2024-03-23 18:06:03       47 阅读
  8. atomic_read实现

    2024-03-23 18:06:03       40 阅读
  9. Pytorch:torch.nn.functional.pad()

    2024-03-23 18:06:03       39 阅读
  10. 持续集成平台 02 jenkins plugin 插件

    2024-03-23 18:06:03       41 阅读
  11. 数学分析复习:指数函数的构造

    2024-03-23 18:06:03       38 阅读
  12. DataFrame:postgresql数据下载及上传

    2024-03-23 18:06:03       44 阅读