883 B
883 B
有很多思路可以参考,比如上面这两个链接。
https://stackoverflow.com/questions/15175318/cmake-how-to-build-external-projects-and-include-their-targets
https://crascit.com/2015/07/25/cmake-gtest/
本质上,我们需要一种方式在使用外部库之前先构建它。
我们选择用 add_dependencies() 来给目标添加依赖。
另一种可行的方案是在配置阶段使用 execute_process(),但这会让配置过程变得“脏”。
要使用哪个版本/标签/提交。
https://cmake.org/cmake/help/v3.31/module/ExternalProject.html#command:externalproject_add
诡异的地方是ExternalProject必须要在构建阶段执行,但是经常需要配置阶段去find_package,其他人的项目通常是手动写好 库的路径头文件目录,我的话就二段配置,第一步的配置把库安装好,然后在去构建