aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNaios <naios-dev@live.de>2017-02-28 15:16:32 +0100
committerNaios <naios-dev@live.de>2017-02-28 15:16:32 +0100
commit01168775ca6b2573fdf99e5de1d53691475053dd (patch)
treef8e9e3b6a756916c1dfdd3eed4c16d1a69bee282 /src
parent3da60f84000bd7ffa5a1516839b84cdee4764448 (diff)
Revert "Build: Create static libraries for each static script project."
This reverts commit bb46bfb8648cccf6cbdd922bba4e92166b861a49. * Closes #19224
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/CMakeLists.txt67
1 files changed, 19 insertions, 48 deletions
diff --git a/src/server/scripts/CMakeLists.txt b/src/server/scripts/CMakeLists.txt
index 2d23cfced29..021a53a2a5e 100644
--- a/src/server/scripts/CMakeLists.txt
+++ b/src/server/scripts/CMakeLists.txt
@@ -27,8 +27,8 @@ elseif(SCRIPTS MATCHES "static")
else()
set(SCRIPTS_DEFAULT_LINKAGE "disabled")
endif()
-# Sets SCRIPTS_USE_WHITELIST to indicate that we are using a whitelist,
-# also sets SCRIPTS_WHITELIST to indicate the whitelisted projects.
+# Sets SCRIPTS_USE_WHITELIST
+# Sets SCRIPTS_WHITELIST
if (SCRIPTS MATCHES "minimal")
set(SCRIPTS_USE_WHITELIST ON)
# Whitelist which is used when minimal is selected
@@ -39,7 +39,6 @@ endif()
# variables set above
foreach(SCRIPT_MODULE ${SCRIPT_MODULE_LIST})
ScriptModuleNameToVariable(${SCRIPT_MODULE} SCRIPT_MODULE_VARIABLE)
- # "default" is selected for the project
if (${SCRIPT_MODULE_VARIABLE} STREQUAL "default")
if(SCRIPTS_USE_WHITELIST)
list(FIND SCRIPTS_WHITELIST "${SCRIPT_MODULE}" INDEX)
@@ -52,22 +51,18 @@ foreach(SCRIPT_MODULE ${SCRIPT_MODULE_LIST})
set(${SCRIPT_MODULE_VARIABLE} ${SCRIPTS_DEFAULT_LINKAGE})
endif()
endif()
-
- # Build the visible graph
+ # Build the Graph values
if (${SCRIPT_MODULE_VARIABLE} MATCHES "dynamic")
- # "dynamic" is selected for the project
GetProjectNameOfScriptModule(${SCRIPT_MODULE} SCRIPT_MODULE_PROJECT_NAME)
GetNativeSharedLibraryName(${SCRIPT_MODULE_PROJECT_NAME} SCRIPT_PROJECT_LIBRARY)
list(APPEND GRAPH_KEYS ${SCRIPT_MODULE_PROJECT_NAME})
set(GRAPH_VALUE_DISPLAY_${SCRIPT_MODULE_PROJECT_NAME} ${SCRIPT_PROJECT_LIBRARY})
list(APPEND GRAPH_VALUE_CONTAINS_MODULES_${SCRIPT_MODULE_PROJECT_NAME} ${SCRIPT_MODULE})
elseif(${SCRIPT_MODULE_VARIABLE} MATCHES "static")
- # "static" is selected for the project
list(APPEND GRAPH_KEYS worldserver)
set(GRAPH_VALUE_DISPLAY_worldserver worldserver)
list(APPEND GRAPH_VALUE_CONTAINS_MODULES_worldserver ${SCRIPT_MODULE})
else()
- # otherwise mark the project as disabled
list(APPEND GRAPH_KEYS disabled)
set(GRAPH_VALUE_DISPLAY_disabled disabled)
list(APPEND GRAPH_VALUE_CONTAINS_MODULES_disabled ${SCRIPT_MODULE})
@@ -135,57 +130,35 @@ endfunction()
# Generates the actual script projects
# Fills the STATIC_SCRIPT_MODULES and DYNAMIC_SCRIPT_MODULE_PROJECTS variables
-# which contain the names which scripts are linked statically/dynamically.
+# which contain the names which scripts are linked statically/dynamically and
+# adds the sources of the static modules to the PRIVATE_SOURCES variable.
foreach(SCRIPT_MODULE ${SCRIPT_MODULE_LIST})
GetPathToScriptModule(${SCRIPT_MODULE} SCRIPT_MODULE_PATH)
ScriptModuleNameToVariable(${SCRIPT_MODULE} SCRIPT_MODULE_VARIABLE)
- # Uninstall disabled modules
if ((${SCRIPT_MODULE_VARIABLE} STREQUAL "disabled") OR
(${SCRIPT_MODULE_VARIABLE} STREQUAL "static"))
+ # Uninstall disabled modules
GetProjectNameOfScriptModule(${SCRIPT_MODULE} SCRIPT_MODULE_PROJECT_NAME)
GetNativeSharedLibraryName(${SCRIPT_MODULE_PROJECT_NAME} SCRIPT_MODULE_OUTPUT_NAME)
list(APPEND DISABLED_SCRIPT_MODULE_PROJECTS ${INSTALL_OFFSET}/${SCRIPT_MODULE_OUTPUT_NAME})
- endif()
-
- if (${SCRIPT_MODULE_VARIABLE} STREQUAL "static")
- # Add the module name to STATIC_SCRIPT_MODULES
- list(APPEND STATIC_SCRIPT_MODULES ${SCRIPT_MODULE})
-
- GetProjectNameOfScriptModule(${SCRIPT_MODULE} SCRIPT_MODULE_PROJECT_NAME)
-
- # Add the project name to STATIC_SCRIPT_MODULE_PROJECTS
- list(APPEND STATIC_SCRIPT_MODULE_PROJECTS ${SCRIPT_MODULE_PROJECT_NAME})
-
- unset(SCRIPT_MODULE_PRIVATE_SOURCES)
- # Add the module content to the whole static module
- CollectSourceFiles(${SCRIPT_MODULE_PATH} SCRIPT_MODULE_PRIVATE_SOURCES)
-
- add_library(${SCRIPT_MODULE_PROJECT_NAME} STATIC
- ${PRIVATE_PCH_SOURCE}
- ${SCRIPT_MODULE_PRIVATE_SOURCES})
- target_link_libraries(${SCRIPT_MODULE_PROJECT_NAME}
- PUBLIC
- game-interface)
- set_target_properties(${SCRIPT_MODULE_PROJECT_NAME}
- PROPERTIES
- FOLDER
- "scripts")
-
+ if (${SCRIPT_MODULE_VARIABLE} STREQUAL "static")
+ # 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)
+ 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})
-
+ ConfigureScriptLoader(${SCRIPT_MODULE} SCRIPT_MODULE_PRIVATE_SCRIPTLOADER ON ${SCRIPT_MODULE})
GetProjectNameOfScriptModule(${SCRIPT_MODULE} SCRIPT_MODULE_PROJECT_NAME)
-
- # Add the project name to DYNAMIC_SCRIPT_MODULES
+ # Add the module name to DYNAMIC_SCRIPT_MODULES
list(APPEND DYNAMIC_SCRIPT_MODULE_PROJECTS ${SCRIPT_MODULE_PROJECT_NAME})
- # Create the dynamic script module project
+ # Create the script module project
add_library(${SCRIPT_MODULE_PROJECT_NAME} SHARED
${PRIVATE_PCH_SOURCE}
${SCRIPT_MODULE_PRIVATE_SOURCES}
@@ -215,8 +188,6 @@ foreach(SCRIPT_MODULE ${SCRIPT_MODULE_LIST})
RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_BINARY_DIR}/bin/MinSizeRel/scripts)
endif()
endif()
- elseif(${SCRIPT_MODULE_VARIABLE} STREQUAL "disabled")
- # We do nothing
else()
message(FATAL_ERROR "Unknown value \"${${SCRIPT_MODULE_VARIABLE}}\"!")
endif()
@@ -227,14 +198,14 @@ set(WORLDSERVER_DYNAMIC_SCRIPT_MODULES_DEPENDENCIES ${DYNAMIC_SCRIPT_MODULE_PROJ
ConfigureScriptLoader("static" SCRIPT_MODULE_PRIVATE_SCRIPTLOADER OFF ${STATIC_SCRIPT_MODULES})
-# This is the project which links all static script projects in
add_library(scripts STATIC
ScriptLoader.h
- ${SCRIPT_MODULE_PRIVATE_SCRIPTLOADER})
+ ${PRIVATE_PCH_SOURCE}
+ ${SCRIPT_MODULE_PRIVATE_SCRIPTLOADER}
+ ${PRIVATE_SOURCES})
target_link_libraries(scripts
PUBLIC
- ${STATIC_SCRIPT_MODULE_PROJECTS}
game-interface)
target_include_directories(scripts
@@ -248,7 +219,7 @@ set_target_properties(scripts
# Generate precompiled header
if (USE_SCRIPTPCH)
- list(APPEND ALL_SCRIPT_PROJECTS ${STATIC_SCRIPT_MODULE_PROJECTS} ${DYNAMIC_SCRIPT_MODULE_PROJECTS})
+ list(APPEND ALL_SCRIPT_PROJECTS scripts ${DYNAMIC_SCRIPT_MODULE_PROJECTS})
add_cxx_pch("${ALL_SCRIPT_PROJECTS}" ${PRIVATE_PCH_HEADER} ${PRIVATE_PCH_SOURCE})
endif()