如何预先自动使用通用路径前缀列出列表上的所有文件名?例如有文件中的CMakeLists.txt列表:如何用共同路径预先列出列表上的所有文件名?
SET(SRC_FILES foo1.cpp foo2.cpp)
我想获得一个列表,是相同的:
${CMAKE_CURRENT_SOURCE_DIR}/foo1.cpp ${CMAKE_CURRENT_SOURCE_DIR}/foo2.cpp
我需要这在PARENT_SCOPE上下文中使用的文件名,例如
SET(FILES_TO_TRANSLATE ${FILES_TO_TRANSLATE} ${SRC_FILES} PARENT_SCOPE)
这样,一个CMakeFiles.txt另一个目录中仍然可以找到这些文件。
从本质上说,我希望这样的事情(伪代码):
SET(FILES_TO_TRANSLATE PREPEND_ALL_NAMES(${CMAKE_CURRENT_SOURCE_DIR} ${SRC_FILES}) PARENT_SCOPE)
这是很容易可行的,或者我有用户“foreach”循环创建文件的新名单?
尽管这个作品中,函数的声明是误导,因为它只是列出了2个函数参数VAR,前缀。然而,在实践中,用户必须通过$ {CMAKE_CURRENT_SOURCE_DIR} $ {SRC_FILES}作为前缀参数。 – bergercookie 2016-11-17 21:30:39
确实需要第三个参数。但是,您需要将第三个参数添加到FOREACH列表的前面。 – 2016-11-21 00:38:47