【发布时间】:2019-07-10 15:04:51
【问题描述】:
在 CMake 2.8.12 中,如何从文本文件中 grep 字符串(每个字符串代表一个文件名)并将其复制到目录中?
例如,我有一个文本文件 xx/yy/a.txt,其中包含:
xx xx xx abc="some_file_name1.txt" xx xx xx
xx xx xx abc="some_file_name2.txt" xx xx xx
xx xx xx abc="some_file_name3.txt" xx xx xx
其中 'xx' 可能是一些随机字符串。
我需要先提取some_file_name1.txt, some_file_name2.txt and some_file_name3.txt,通过将路径前缀xx/yy/附加到每个提取的字符串来为它们中的每一个形成正确的路径,然后将每个文件复制到目录mydir/
我知道如何在 bash 脚本中执行此操作,但不知道如何在 CMake 中执行此操作,特别是,我需要在 ADD_CUSTOM_COMMAND 中为后期构建目标执行此操作。
谢谢!
【问题讨论】:
-
“我需要在 ADD_CUSTOM_COMMAND 中为后期构建目标执行此操作” - 使用
add_custom_command意味着您需要一个执行任务的命令行。命令行可能涉及 bash 脚本、CMake 脚本(与CMakeLists.txt分开创建)或仅使用grep/sed/awk与适当参数的组合。所以第一个任务是创建一个命令行或脚本来执行所需的任务。 -
@Tsyvarev 我想以 CMake 方式做的原因是支持多个平台。显然,bash 脚本不易移植。