gpt4 book ai didi

c++ - 如何使用cmake编译依赖项?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:19:43 24 4
gpt4 key购买 nike

鉴于我有以下文件结构,

my_project
CMakeLists.txt
/include
...headers
/src
...source files
/vendor
/third-party-project1
CMakeLists.txt
/third-party-project2
CMakeLists.txt

如何根据我自己的 CMake 文件中的 CMakeLists.txt 文件编译第三方项目来使用它们?我特别需要他们的包含目录,可能还有他们拥有的任何库。

此外,我如何使用 FIND_PACKAGE 来测试系统中是否安装了第三方项目,以及它们是否不编译和链接包含的项目?

最佳答案

要查找项目,您可以使用 find_package()命令。希望你的第三方项目提供相应的finder模块,否则你应该自己写。然后,您可以在 CMakeLists.txt 中分析 find_package() 的结果,并有条件地使用 add_subdirectory() 进入 third- party-projectN/ -- 这将构建该库作为您的包的一部分。要使用它们的 header ,只需添加(有条件地)include_directories(${PROJECT_SOURCE_DIR}/third-party-projectN/include)。他们的库可以作为“序号”目标从您的 CMakeLists.txt 访问。

如果这些包已经安装在您的系统中,查找器模块应该为您提供一些用于include_directories() 和/或target_link_libraries() 的变量。

关于c++ - 如何使用cmake编译依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28175581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com