cMake SOURCE_GROUP多个文件?

Mat*_*Mat 5 cmake visual-studio

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

我试过了:

SOURCE_GROUP(Math FILES 
    ${CMAKE_CURRENT_SOURCE_DIR}/src/Math/*.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/src/Math/*.h
)
Run Code Online (Sandbox Code Playgroud)

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

怎么做得好?

And*_*aev 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})
Run Code Online (Sandbox Code Playgroud)