【发布时间】:2017-02-07 08:03:40
【问题描述】:
在我的 cmake C++ 项目中,我将源文件添加到目标
file(GLOB HEADERS *.h)
file(GLOB SOURCES *.cpp)
add_library(${PROJECT_NAME} SHARED ${SOURCES} ${HEADERS})
在 macOS 中,这包括像 ._Source.cpp 和 ._Header.h 这样的文件,我尝试了 REGEX
list(FILTER HEADERS REGEX "^[^\.].+" output_variable HEADERS)
list(FILTER SOURCES REGEX "^[^\.].+" output_variable SOURCES)
但这不起作用。
【问题讨论】:
-
这不是
list(FILTER HEADERS INCLUDE REGEX "^[^\.].+")吗? -
@Florian 这给了
list sub-command FILTER requires list to be present.错误 -
@Florian 我已经更正了语法,但
list(FILTER HEADERS EXCLUDE REGEX "^[\.].+")仍然无效。仍然包含._文件 -
list(FILTER HEADERS EXCLUDE REGEX "^\\..+")?我忘记了 CMake 需要双反斜杠,因为它首先评估转义序列。 -
另见here