如何自动在列表中添加公共路径前缀的所有文件名?例如,在CMakeLists.txt中有一个文件列表:
SET(SRC_FILES foo1.cpp foo2.cpp)
Run Code Online (Sandbox Code Playgroud)
我想得到一个与此相当的列表:
${CMAKE_CURRENT_SOURCE_DIR}/foo1.cpp ${CMAKE_CURRENT_SOURCE_DIR}/foo2.cpp
Run Code Online (Sandbox Code Playgroud)
我需要这个在PARENT_SCOPE上下文中使用文件名,例如
SET(FILES_TO_TRANSLATE ${FILES_TO_TRANSLATE} ${SRC_FILES} PARENT_SCOPE)
Run Code Online (Sandbox Code Playgroud)
所以,另一个目录中的CMakeFiles.txt仍然可以找到这些文件.
从本质上讲,我期待这样的事情(伪代码):
SET(FILES_TO_TRANSLATE PREPEND_ALL_NAMES(${CMAKE_CURRENT_SOURCE_DIR} ${SRC_FILES}) PARENT_SCOPE)
Run Code Online (Sandbox Code Playgroud)
这是否容易实现,或者我是否必须使用"foreach"循环来创建新的文件列表?
cmake ×1