在我的cmake C ++项目中,我将源文件添加到目标
file(GLOB HEADERS *.h)
file(GLOB SOURCES *.cpp)
add_library(${PROJECT_NAME} SHARED ${SOURCES} ${HEADERS})
Run Code Online (Sandbox Code Playgroud)
在macOS中,这包括类似文件,._Source.cpp而._Header.h我尝试了REGEX
list(FILTER HEADERS REGEX "^[^\.].+" output_variable HEADERS)
list(FILTER SOURCES REGEX "^[^\.].+" output_variable SOURCES)
Run Code Online (Sandbox Code Playgroud)
但这不起作用。
把我的评论变成答案
file(GLOB HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
file(GLOB SOURCES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.cpp")
list(FILTER HEADERS EXCLUDE REGEX "^\\..+")
list(FILTER SOURCES EXCLUDE REGEX "^\\..+"
Run Code Online (Sandbox Code Playgroud)
list(FILTER ...)需求INCLUDE或EXCLUDE关键字file(GLOB ...)默认情况下将返回完整路径,所以你需要添加RELATIVE关键字[](任何表达式),因为您只检查一个字符参考
| 归档时间: |
|
| 查看次数: |
2573 次 |
| 最近记录: |