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/scripts | |
| parent | 7ccc2d4f6b972800f96f1631da1ff52542710d72 (diff) | |
Build: Modernize include directory management using target_sources(FILE_SET)
Diffstat (limited to 'src/server/scripts')
| -rw-r--r-- | src/server/scripts/CMakeLists.txt | 42 |
1 files changed, 17 insertions, 25 deletions
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() |
