2012-03-14 63 views
5

對於VisualStudio項目,我希望cMake將來自特定文件夾的所有文件放入特定的過濾器中。cMake SOURCE_GROUP多個文件?

我想:

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

然而,這將會把只有第一個發現CPP和第一個找到的.h文件到該過濾器。文件夾中的其餘文件將被放置在默認過濾器中如何正確地執行此操作?

+0

準備有多個項目的麻煩:http://public.kitware.com/Bug/view.php?id=3474這6儘管有人提供了3年前的源代碼來解決這個問題,但它仍然存在。真棒! – 0xbaadf00d 2013-01-24 06:51:06

回答

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})