CMake和命令行参数

CMake和命令行参数,cmake,command-line-arguments,Cmake,Command Line Arguments,为什么我在我的项目的CMakeLists.txt中为测试指定了以下行: enable_testing() set(filesyst_rsc "${CMAKE_CURRENT_LIST_DIR}/test/filesyst-rsc") add_test(test_filesystem test-filesystem ${filesyst_rsc}) 在Visual Studio 2010中,为测试文件系统生成的项目没有指定命令行参数???add\u test()调用不会导致生成.vc[x]pro

为什么我在我的项目的CMakeLists.txt中为测试指定了以下行:

enable_testing()
set(filesyst_rsc "${CMAKE_CURRENT_LIST_DIR}/test/filesyst-rsc")
add_test(test_filesystem test-filesystem ${filesyst_rsc})

在Visual Studio 2010中,为测试文件系统生成的项目没有指定命令行参数???

add\u test()
调用不会导致生成
.vc[x]proj
文件,它们不是目标。您可以使用CTest或通过项目
run\u TEST
运行测试,我知道您可以向测试传递命令行,因为我一直都在这样做。也许您想启用“CTEST_OUTPUT_ON_FAILURE=1”环境变量,并在调试失败时将测试转储输出。@Angew tnx供您解释,但实际上我是通过在顶级CMakeLists.txt上运行CMake生成VS解决方案的,该文件包含一系列add_子目录()用于顶级目录的所有子目录的命令(子目录是子模块)。这样,在我的VS解决方案中,我只有一个全构建项目+一个项目列表,没有运行测试!!!所以我不能像你们建议的那个样通过那个“特殊”项目运行测试。为什么我没有获得运行测试项目,尽管每个子模块(subdir)的CMakeLists.txt文件包含特定子模块的所有测试列表(添加测试命令)?要让CMake生成测试,您需要调用。为什么我没有获得运行测试项目,尽管每个子模块(subdir)的CMakeLists.txt文件包含特定子模块的所有测试列表(添加测试命令)?这一切都很奇怪。我不记得在我工作中使用CMake的6年多时间里,曾经出现过这样的问题。是否确实在添加enable_testing()后重新生成?