fra*_*ans 6 string command-line list cmake
我想做这样的事情
execute_process(
COMMAND bash -c "git --git-dir ${CMAKE_SOURCE_DIR}/.git ls-files"
OUTPUT_VARIABLE TRACKED_FILES)
add_custom_target(all_file_project SOURCES ${TRACKED_FILES})
Run Code Online (Sandbox Code Playgroud)
命令本身似乎按预期工作,但生成的变量“TRACKED_FILES”仅包含一个逻辑条目(一个多行字符串)而不是文件列表。
我可以以某种方式将包含由换行符(“\n”)分隔的多行的字符串转换为 CMake 中的列表吗?
一个选择(正如我的问题的标题所暗示的那样)是主动手动拆分字符串,而不是首先将变量解释为列表:
string(REPLACE "\n" ";" ADDITIONAL_PROJECT_FILES_LIST ${ADDITIONAL_PROJECT_FILES})
Run Code Online (Sandbox Code Playgroud)
这对我有用,但是如果有一些更抽象和更少平台特定的东西会很好(例如,我不知道这是否适用于包括 Windows 在内的所有操作系统)
就像是 execute_process(COMMAND find -type f OUTPUT_LIST_VARIABLE MY_LIST)
或者至少 set(MY_LIST FROM_MULTILINE MY_MULTILINE_STRING)
归档时间: |
|
查看次数: |
1488 次 |
最近记录: |