小编Paw*_*ski的帖子

如何使用公共路径在列表中添加所有文件名?

如何自动在列表中添加公共路径前缀的所有文件名?例如,在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

39
推荐指数
4
解决办法
2万
查看次数

标签 统计

cmake ×1