5

我在Linux上製作了一個C++項目,並且將源文件分組到多個目錄中以組織自己。如何在解決方案資源管理器上保留源文件夾層次結構?

我正在使用CMake進行編譯,每個子目錄上有一個CMakeFiles.txt。

srcs 
|--folderA 
| |--Toto.cpp 
| |--Tata.cpp 
| 
|--folderB 
| |--Foo.cpp 
| |--Bar.cpp 
[...] 

最近,我與Visual Studio 2015年,結果發現每一個源文件打開一看,只是把整個名單上的解決方案管理器的「源文件」文件夾中。

Source Files 
|--Toto.cpp 
|--Tata.cpp 
|--Foo.cpp 
|--Bar.cpp 

我計劃擁有大量的文件,它很快就很難找到一個。

有什麼辦法可以明確告訴它尊重解決方案資源管理器上的文件夾層次結構嗎?

+0

什麼版本的CMake? –

+0

@JamesAdkison我正在使用最後一個3.3.1。 – Aracthor

+1

我已經添加了'assign_source_group'示例實現,您可能會發現我的答案對於[如何使用cmake設置嵌套子目錄的Visual Studio篩選器]有用(http://stackoverflow.com/questions/31422680/how-to-set - 視覺工作室濾波器換嵌套子目錄的使用-cmake的/ 31423421#31423421)。 – Florian

回答

3

使用source_group命令。

source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>])

定義一組成源將被放置在項目文件。這是爲了在Visual Studio中設置文件選項卡。選項有:

文件 明確指定的任何源文件將被放置在組中。相對路徑將根據當前源目錄進行解釋。

REGULAR_EXPRESSION 其名稱與正則表達式匹配的任何源文件都將放入組中。

相關問題