cMake SOURCE_GROUP多个文件?

时间:2012-03-14 11:49:41

标签: visual-studio cmake

对于VisualStudio项目,我希望cMake将特定文件夹中的所有文件放入特定的过滤器中。

我试过了:

SOURCE_GROUP(Math FILES 
    ${CMAKE_CURRENT_SOURCE_DIR}/src/Math/*.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/src/Math/*.h
)

但是,这只会将第一个找到的cpp和第一个找到的h文件放入该过滤器中。文件夹中的其余文件将放在默认过滤器

如何正确地做到这一点?

1 个答案:

答案 0 :(得分:7)

你需要传递全名,而不是通过表达式:

FILE(GLOB source_files
    ${CMAKE_CURRENT_SOURCE_DIR}/src/Math/*.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/src/Math/*.h
)

SOURCE_GROUP(Math FILES ${source_files})