这是我想做的事情:
- 打字
make all
将建立我的图书馆和它的文档。 - 键入
make test
将构建我的库(如果需要)、gtest,然后是我的测试 - 如果需要,键入
make check
运行make test
,然后运行可执行文件
现在我只设法让第一个工作。我遇到的问题是 gtest 的条件包含。
Gtest 使用了很好的 CMake,理论上我需要做的就是包含 gtest 目录,add_subdirectory
但之后总是会构建 gtest。
我现在的结构是:
CMakeLists.txt(在这里我为 doc 和库添加目标) doc(我的 doxygen 文档) 包括(我的标题) lib(我编译的库所在的位置) src(我的 .cpp 文件所在的位置) 测试 CMakeLists.txt(在这里我为 gest 和我的测试添加目标) bin(测试可执行文件所在的位置) contrib (其中 gtest 是) src(我的测试)
我试图弄清楚如何将 gtest 作为依赖项添加到test
-target 但不是每次都构建 gtest。
我真的很生气,关于学习 CMake 的信息很少甚至没有,所以如果有人知道任何深入的教程(可在互联网上免费获得),那就太棒了。