Changeset - r24321:b65c5ca3b7c7
[Not reviewed]
master
0 1 1
Michael Lutz - 4 years ago 2020-07-05 12:39:39
michi@icosahedron.de
Add: [CMake] Source group definitions to create file filters in generated project files (like the old MSVC projects).
2 files changed with 39 insertions and 0 deletions:
0 comments (0 inline, 0 general)
CMakeLists.txt
Show inline comments
 
@@ -131,6 +131,8 @@ include_directories(${CMAKE_SOURCE_DIR}/
 
# Needed by everything that uses Squirrel
 
include_directories(${CMAKE_SOURCE_DIR}/src/3rdparty/squirrel/include)
 

	
 
include(MSVCFilters)
 

	
 
include(CompileFlags)
 
compile_flags()
 

	
cmake/MSVCFilters.cmake
Show inline comments
 
new file 100644
 
# Add source group filters for use in generated projects.
 

	
 
source_group("AI Core" REGULAR_EXPRESSION "src/ai/")
 
source_group("Blitters" REGULAR_EXPRESSION "src/blitter/")
 
source_group("Core Source Code" REGULAR_EXPRESSION "src/core/")
 
source_group("Game Core" REGULAR_EXPRESSION "src/game/")
 
source_group("MD5" REGULAR_EXPRESSION "src/3rdparty/md5/")
 
source_group("Misc" REGULAR_EXPRESSION "src/misc/")
 
source_group("Music" REGULAR_EXPRESSION "src/music/")
 
source_group("Network Core" REGULAR_EXPRESSION "src/network/core/")
 
source_group("Pathfinder" REGULAR_EXPRESSION "src/pathfinder/")
 
source_group("Save/Load handlers" REGULAR_EXPRESSION "src/saveload/")
 
source_group("Sound" REGULAR_EXPRESSION "src/sound/")
 
source_group("Sprite loaders" REGULAR_EXPRESSION "src/spriteloader/")
 
source_group("Squirrel" REGULAR_EXPRESSION "src/3rdparty/squirrel/squirrel/")
 
source_group("Tables" REGULAR_EXPRESSION "src/table/")
 
source_group("Video" REGULAR_EXPRESSION "src/video/")
 
source_group("Widgets" REGULAR_EXPRESSION "src/widgets/")
 
source_group("Windows files" REGULAR_EXPRESSION "src/os/windows/|\.rc$")
 

	
 
# Last directive for each file wins, so make sure NPF/YAPF are after the generic pathfinder filter.
 
source_group("NPF" REGULAR_EXPRESSION "src/pathfinder/npf/")
 
source_group("YAPF" REGULAR_EXPRESSION "src/pathfinder/yapf/")
 

	
 
source_group("Script" REGULAR_EXPRESSION "src/script/")
 
source_group("Script API Implementation" REGULAR_EXPRESSION "src/script/api/")
 
source_group("Script API" REGULAR_EXPRESSION "src/script/api/.*\.hpp$")
 
source_group("AI API" REGULAR_EXPRESSION "src/script/api/ai_")
 
source_group("Game API" REGULAR_EXPRESSION "src/script/api/game_")
 

	
 
# Placed last to ensure any of the previous directory filters are overridden.
 
source_group("Command handlers" REGULAR_EXPRESSION "_cmd\.cpp$")
 
source_group("Drivers" REGULAR_EXPRESSION "_driver\.hpp$")
 
source_group("GUI Source Code" REGULAR_EXPRESSION "_gui\.cpp$")
 
source_group("Map Accessors" REGULAR_EXPRESSION "_map\.(cpp|h)$")
 
source_group("NewGRF" REGULAR_EXPRESSION "newgrf.*cpp$")
 
source_group("Squirrel headers" REGULAR_EXPRESSION "src/3rdparty/squirrel/squirrel/.*\.h$")
0 comments (0 inline, 0 general)