在不使用CTest的情况下使用CMake构建测试

这是我想要做的: 键入
make all
将构建我的库和文档。 键入
make test
将构建我的lib(如果需要),gtest然后我的测试 如果需要,键入
make check
运行
make test
然后运行可执行文件 现在我只是设法让第一个工作。 我遇到的问题是有条件包括gtest。 Gtest使用CMake这很好,理论上我需要做的就是将gtest目录包含在
add_subdirectory
但是gtest将始终构建。 我现在的结构是: CMakeLists.txt(这里我添加了doc和库的目标) doc(我的doxygen docs) 包括(我的标题) lib(我的编译库去的地方) src(我的.cpp文件去的地方) 测试     CMakeLists.txt(这里我添加了gest和我的测试的目标)     bin(测试可执行文件将在哪里)     contrib(其中gtest是)     src(我的测试) 我试图弄清楚如何将gtest作为依赖添加到
test
目标但不是每次都构建gtest。 我真的很生气,关于学习CMake的信息几乎没有,所以如果有人知道任何深入的教程(可以在互联网上免费获得)那将是非常棒的。     
已邀请:
诀窍是做
add_subdirectory(test EXCLUDE_FROM_ALL)
然后CMakeList.txt中的所有目标都不会添加到ALL目标。     

要回复问题请先登录注册