我正在浏览一个CMakelist.txt文件,该文件包含一个包含 src 和 tests 文件夹的C ++项目条目。 我需要知道以下语法的含义是什么?
if(DEFINED BUILD_TESTS)
add_subdirectory(tests)
endif(DEFINED BUILD_TESTS)
由于 了rG
答案 0 :(得分:3)
您可以随时查看manual,不过我认为这里很清楚:
if(DEFINED BUILD_TESTS)
检查是否在环境中定义了变量BUILD_TESTS。如果是这样,:
add_subdirectory(tests)
add_subdirectory
是一个built in function(cmake有那些),它将一个名为tests(surprise)的目录添加到需要构建/编译的东西列表中。
BUILD_TESTS
本身就是一个CMAKE变量,它将决定是否测试'将成为Makefile的一部分。感谢@Tsyvarev指出这一点。