小编Dav*_*ein的帖子

如何使用-D将列表传递给CMake?

我正在尝试调用add_test(),如下所示:

add_test(NAME ${TEST_NAME} COMMAND cmake
  -DTEST_PROG:FILEPATH=${TEST_EXECUTABLE} 
 ...
  -DTEST_EXEC_DIRS:PATH=${TEST_EXEC_DIRS}
  -P SciTextCompare.cmake
)
Run Code Online (Sandbox Code Playgroud)

$ {TEST_EXEC_DIRS}是一个CMake列表,当我执行上面的代码时,CTestTestfile.cmake中的结果行只包含列表中的第一个项目,所以我最终得到了cmake的以下参数:

"cmake" "-DTEST_PROG:FILEPATH=C:/path/to/my/executable" ... "-DTEST_EXEC_DIRS:PATH=C:/first/dir/in/list" "-P" "SciTextCompare.cmake"
Run Code Online (Sandbox Code Playgroud)

如何传入列表并让它像这样调用cmake:

"cmake" "-DTEST_PROG:FILEPATH=C:/path/to/my/executable" ... "-DTEST_EXEC_DIRS:PATH=C:/first/dir/in/list;C:/second/dir/in/list" "-P" "SciTextCompare.cmake"
Run Code Online (Sandbox Code Playgroud)

cmake

4
推荐指数
1
解决办法
693
查看次数

标签 统计

cmake ×1