diff options
| author | Shauren <shauren.trinity@gmail.com> | 2025-11-12 22:53:54 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-11-12 22:53:54 +0100 |
| commit | 33316999060dda030c3c6a43a68d84020928ce70 (patch) | |
| tree | d0ecb2d0ff3eaa11c27b6811c7de0eb4115b1fce /src/server | |
| parent | 7ccc2d4f6b972800f96f1631da1ff52542710d72 (diff) | |
Build: Modernize include directory management using target_sources(FILE_SET)
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/bnetserver/CMakeLists.txt | 36 | ||||
| -rw-r--r-- | src/server/database/CMakeLists.txt | 24 | ||||
| -rw-r--r-- | src/server/game/CMakeLists.txt | 23 | ||||
| -rw-r--r-- | src/server/proto/CMakeLists.txt | 28 | ||||
| -rw-r--r-- | src/server/scripts/CMakeLists.txt | 42 | ||||
| -rw-r--r-- | src/server/shared/CMakeLists.txt | 24 | ||||
| -rw-r--r-- | src/server/worldserver/CMakeLists.txt | 38 |
7 files changed, 64 insertions, 151 deletions
diff --git a/src/server/bnetserver/CMakeLists.txt b/src/server/bnetserver/CMakeLists.txt index efe4c61fe74..1eaa80a3cd2 100644 --- a/src/server/bnetserver/CMakeLists.txt +++ b/src/server/bnetserver/CMakeLists.txt @@ -10,29 +10,21 @@ ########### bnetserver ############### -CollectSourceFiles( +GroupSources(${CMAKE_CURRENT_SOURCE_DIR}) + +add_executable(bnetserver) + +CollectAndAddSourceFiles( + bnetserver ${CMAKE_CURRENT_SOURCE_DIR} - PRIVATE_SOURCES - # Exclude + EXCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders) if (WIN32) if (MSVC) - list(APPEND PRIVATE_SOURCES bnetserver.rc) + target_sources(bnetserver PRIVATE bnetserver.rc) endif() -endif() - -if (USE_COREPCH) - set(PRIVATE_PCH_HEADER PrecompiledHeaders/bnetPCH.h) -endif() - -GroupSources(${CMAKE_CURRENT_SOURCE_DIR}) - -add_executable(bnetserver - ${PRIVATE_SOURCES} -) - -if (NOT WIN32) +else() target_compile_definitions(bnetserver PRIVATE _TRINITY_BNET_CONFIG="${CONF_DIR}/bnetserver.conf" _TRINITY_BNET_CONFIG_DIR="${CONF_DIR}/bnetserver.conf.d" @@ -45,15 +37,7 @@ target_link_libraries(bnetserver PUBLIC shared) -CollectIncludeDirectories( - ${CMAKE_CURRENT_SOURCE_DIR} - PUBLIC_INCLUDES - # Exclude - ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders) - target_include_directories(bnetserver - PUBLIC - ${PUBLIC_INCLUDES} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) @@ -92,5 +76,5 @@ endif() # Generate precompiled header if (USE_COREPCH) - add_cxx_pch(bnetserver ${PRIVATE_PCH_HEADER}) + add_cxx_pch(bnetserver PrecompiledHeaders/bnetPCH.h) endif() diff --git a/src/server/database/CMakeLists.txt b/src/server/database/CMakeLists.txt index 9b9dc97ca2c..0513064236b 100644 --- a/src/server/database/CMakeLists.txt +++ b/src/server/database/CMakeLists.txt @@ -8,31 +8,17 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -CollectSourceFiles( - ${CMAKE_CURRENT_SOURCE_DIR} - PRIVATE_SOURCES - # Exclude - ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders) - -if(USE_COREPCH) - set(PRIVATE_PCH_HEADER PrecompiledHeaders/databasePCH.h) -endif() - GroupSources(${CMAKE_CURRENT_SOURCE_DIR}) -add_library(database - ${PRIVATE_SOURCES} -) +add_library(database) -CollectIncludeDirectories( +CollectAndAddSourceFiles( + database ${CMAKE_CURRENT_SOURCE_DIR} - PUBLIC_INCLUDES - # Exclude + EXCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders) target_include_directories(database - PUBLIC - ${PUBLIC_INCLUDES} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) @@ -63,5 +49,5 @@ endif() # Generate precompiled header if(USE_COREPCH) - add_cxx_pch(database ${PRIVATE_PCH_HEADER}) + add_cxx_pch(database PrecompiledHeaders/databasePCH.h) endif() diff --git a/src/server/game/CMakeLists.txt b/src/server/game/CMakeLists.txt index 8ebf8075eeb..ab35bd74d94 100644 --- a/src/server/game/CMakeLists.txt +++ b/src/server/game/CMakeLists.txt @@ -8,22 +8,12 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -CollectSourceFiles( - ${CMAKE_CURRENT_SOURCE_DIR} - PRIVATE_SOURCES - # Exclude - ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders) - -if(USE_COREPCH) - set(PRIVATE_PCH_HEADER PrecompiledHeaders/gamePCH.h) -endif() - GroupSources(${CMAKE_CURRENT_SOURCE_DIR}) CollectIncludeDirectories( ${CMAKE_CURRENT_SOURCE_DIR} PUBLIC_INCLUDES - # Exclude + EXCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders) # Provide an interface target for the game project to allow @@ -39,8 +29,13 @@ target_link_libraries(game-interface shared mmaps_common) -add_library(game - ${PRIVATE_SOURCES}) +add_library(game) + +CollectAndAddSourceFiles( + game + ${CMAKE_CURRENT_SOURCE_DIR} + EXCLUDE + ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders) target_include_directories(game PRIVATE @@ -73,5 +68,5 @@ endif() # Generate precompiled header if(USE_COREPCH) - add_cxx_pch(game ${PRIVATE_PCH_HEADER}) + add_cxx_pch(game PrecompiledHeaders/gamePCH.h) endif() diff --git a/src/server/proto/CMakeLists.txt b/src/server/proto/CMakeLists.txt index 517b34f448e..c308f5009f6 100644 --- a/src/server/proto/CMakeLists.txt +++ b/src/server/proto/CMakeLists.txt @@ -8,33 +8,17 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -CollectSourceFiles( - ${CMAKE_CURRENT_SOURCE_DIR} - PRIVATE_SOURCES - # Exclude - ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders) - -if (USE_COREPCH) - set(PRIVATE_PCH_HEADER PrecompiledHeaders/protoPCH.h) -endif() - GroupSources(${CMAKE_CURRENT_SOURCE_DIR}) -add_library(proto - ${PRIVATE_SOURCES} -) +add_library(proto) -CollectIncludeDirectories( +CollectAndAddSourceFiles( + proto ${CMAKE_CURRENT_SOURCE_DIR} - PUBLIC_INCLUDES - # Exclude - ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders - ${CMAKE_CURRENT_SOURCE_DIR}/Client/api - ${CMAKE_CURRENT_SOURCE_DIR}/Client/global_extensions) + EXCLUDE + ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders) target_include_directories(proto - PUBLIC - ${PUBLIC_INCLUDES} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) @@ -66,5 +50,5 @@ endif() # Generate precompiled header if (USE_COREPCH) - add_cxx_pch(proto ${PRIVATE_PCH_HEADER}) + add_cxx_pch(proto PrecompiledHeaders/protoPCH.h) endif() diff --git a/src/server/scripts/CMakeLists.txt b/src/server/scripts/CMakeLists.txt index fb4ba169b4c..06eb5060341 100644 --- a/src/server/scripts/CMakeLists.txt +++ b/src/server/scripts/CMakeLists.txt @@ -88,13 +88,10 @@ foreach(GRAPH_KEY ${GRAPH_KEYS}) message(" |") endforeach() -# Base sources which are used by every script project -if(USE_SCRIPTPCH) - set(PRIVATE_PCH_HEADER ScriptPCH.h) -endif() - GroupSources(${CMAKE_CURRENT_SOURCE_DIR}) +add_library(scripts STATIC) + # Configures the scriptloader with the given name and stores the output in the LOADER_OUT variable. # It is possible to expose multiple subdirectories from the same scriptloader through passing # it to the variable arguments @@ -145,32 +142,28 @@ foreach(SCRIPT_MODULE ${SCRIPT_MODULE_LIST}) # Add the module name to STATIC_SCRIPT_MODULES list(APPEND STATIC_SCRIPT_MODULES ${SCRIPT_MODULE}) # Add the module content to the whole static module - CollectSourceFiles(${SCRIPT_MODULE_PATH} PRIVATE_SOURCES) + CollectAndAddSourceFiles(scripts ${SCRIPT_MODULE_PATH}) endif() elseif(${SCRIPT_MODULE_VARIABLE} STREQUAL "dynamic") # Generate an own dynamic module which is loadable on runtime - # Add the module content to the whole static module - unset(SCRIPT_MODULE_PRIVATE_SOURCES) - CollectSourceFiles(${SCRIPT_MODULE_PATH} SCRIPT_MODULE_PRIVATE_SOURCES) # Configure the scriptloader ConfigureScriptLoader(${SCRIPT_MODULE} SCRIPT_MODULE_PRIVATE_SCRIPTLOADER ON ${SCRIPT_MODULE}) GetProjectNameOfScriptModule(${SCRIPT_MODULE} SCRIPT_MODULE_PROJECT_NAME) # Add the module name to DYNAMIC_SCRIPT_MODULES list(APPEND DYNAMIC_SCRIPT_MODULE_PROJECTS ${SCRIPT_MODULE_PROJECT_NAME}) # Create the script module project - add_library(${SCRIPT_MODULE_PROJECT_NAME} SHARED - ${SCRIPT_MODULE_PRIVATE_SOURCES} - ${SCRIPT_MODULE_PRIVATE_SCRIPTLOADER}) + add_library(${SCRIPT_MODULE_PROJECT_NAME} SHARED) + CollectAndAddSourceFiles(${SCRIPT_MODULE_PROJECT_NAME} ${SCRIPT_MODULE_PATH}) + target_sources(${SCRIPT_MODULE_PROJECT_NAME} + PUBLIC + FILE_SET HEADERS FILES ScriptLoader.h) + target_link_libraries(${SCRIPT_MODULE_PROJECT_NAME} PRIVATE trinity-core-interface PUBLIC game) - target_include_directories(${SCRIPT_MODULE_PROJECT_NAME} - PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR}) - set_target_properties(${SCRIPT_MODULE_PROJECT_NAME} PROPERTIES COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS} @@ -203,10 +196,13 @@ set(WORLDSERVER_DYNAMIC_SCRIPT_MODULES_DEPENDENCIES ${DYNAMIC_SCRIPT_MODULE_PROJ ConfigureScriptLoader("static" SCRIPT_MODULE_PRIVATE_SCRIPTLOADER OFF ${STATIC_SCRIPT_MODULES}) -add_library(scripts STATIC - ScriptLoader.h - ${SCRIPT_MODULE_PRIVATE_SCRIPTLOADER} - ${PRIVATE_SOURCES}) +target_sources(scripts + PRIVATE + ${SCRIPT_MODULE_PRIVATE_SCRIPTLOADER}) + +target_sources(scripts + PUBLIC + FILE_SET HEADERS FILES ScriptLoader.h) target_link_libraries(scripts PRIVATE @@ -214,10 +210,6 @@ target_link_libraries(scripts PUBLIC game-interface) -target_include_directories(scripts - PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR}) - set_target_properties(scripts PROPERTIES COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS} @@ -225,7 +217,7 @@ set_target_properties(scripts # Generate precompiled header if(USE_SCRIPTPCH) - add_cxx_pch("scripts" ${PRIVATE_PCH_HEADER} ${DYNAMIC_SCRIPT_MODULE_PROJECTS}) + add_cxx_pch("scripts" ScriptPCH.h ${DYNAMIC_SCRIPT_MODULE_PROJECTS}) reuse_cxx_pch("${DYNAMIC_SCRIPT_MODULE_PROJECTS}" scripts) endif() diff --git a/src/server/shared/CMakeLists.txt b/src/server/shared/CMakeLists.txt index cac46028064..37f12cfeb93 100644 --- a/src/server/shared/CMakeLists.txt +++ b/src/server/shared/CMakeLists.txt @@ -8,31 +8,17 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -CollectSourceFiles( - ${CMAKE_CURRENT_SOURCE_DIR} - PRIVATE_SOURCES - # Exclude - ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders) - -if(USE_COREPCH) - set(PRIVATE_PCH_HEADER PrecompiledHeaders/sharedPCH.h) -endif() - GroupSources(${CMAKE_CURRENT_SOURCE_DIR}) -add_library(shared - ${PRIVATE_SOURCES} -) +add_library(shared) -CollectIncludeDirectories( +CollectAndAddSourceFiles( + shared ${CMAKE_CURRENT_SOURCE_DIR} - PUBLIC_INCLUDES - # Exclude + EXCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders) target_include_directories(shared - PUBLIC - ${PUBLIC_INCLUDES} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) @@ -66,5 +52,5 @@ endif() # Generate precompiled header if(USE_COREPCH) - add_cxx_pch(shared ${PRIVATE_PCH_HEADER}) + add_cxx_pch(shared PrecompiledHeaders/sharedPCH.h) endif() diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt index bc0ed4e3656..55d300f2df3 100644 --- a/src/server/worldserver/CMakeLists.txt +++ b/src/server/worldserver/CMakeLists.txt @@ -8,29 +8,23 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -CollectSourceFiles( - ${CMAKE_CURRENT_SOURCE_DIR} - PRIVATE_SOURCES - # Exclude - ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders) - -if(WIN32) - if(MSVC) - list(APPEND PRIVATE_SOURCES worldserver.rc) - endif() -endif() - -if(USE_COREPCH) - set(PRIVATE_PCH_HEADER PrecompiledHeaders/worldPCH.h) -endif() - GroupSources(${CMAKE_CURRENT_SOURCE_DIR}) add_executable(worldserver ${PRIVATE_SOURCES} ) -if(NOT WIN32) +CollectAndAddSourceFiles( + worldserver + ${CMAKE_CURRENT_SOURCE_DIR} + EXCLUDE + ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders) + +if(WIN32) + if(MSVC) + target_sources(worldserver PRIVATE worldserver.rc) + endif() +else() target_compile_definitions(worldserver PRIVATE _TRINITY_CORE_CONFIG="${CONF_DIR}/worldserver.conf" _TRINITY_CORE_CONFIG_DIR="${CONF_DIR}/worldserver.conf.d" @@ -46,15 +40,7 @@ target_link_libraries(worldserver readline gsoap) -CollectIncludeDirectories( - ${CMAKE_CURRENT_SOURCE_DIR} - PUBLIC_INCLUDES - # Exclude - ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders) - target_include_directories(worldserver - PUBLIC - ${PUBLIC_INCLUDES} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) @@ -90,5 +76,5 @@ endif() # Generate precompiled header if(USE_COREPCH) - add_cxx_pch(worldserver ${PRIVATE_PCH_HEADER}) + add_cxx_pch(worldserver PrecompiledHeaders/worldPCH.h) endif() |
