aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-09-20 13:19:42 +0200
committerShauren <shauren.trinity@gmail.com>2025-08-30 22:55:25 +0200
commita3874ee4f931336fa1ae240fe3288bc648b5d5c2 (patch)
tree091acf32311b27efd0e60d71eca7fe33e665a85d /src
parent58f9def30fe4f0f017538acc29e53fedd016893c (diff)
Build: Add WITH_WARNINGS_AS_ERRORS cmake option that turns compile warnings into compile errors
(cherry picked from commit 7ac0c685dd01bdce2d1ee0bb878e5044b3c1fffa)
Diffstat (limited to 'src')
-rw-r--r--src/common/CMakeLists.txt15
-rw-r--r--src/server/authserver/CMakeLists.txt6
-rw-r--r--src/server/database/CMakeLists.txt11
-rw-r--r--src/server/game/CMakeLists.txt11
-rw-r--r--src/server/scripts/CMakeLists.txt8
-rw-r--r--src/server/shared/CMakeLists.txt11
-rw-r--r--src/server/worldserver/CMakeLists.txt6
-rw-r--r--src/tools/extractor_common/CMakeLists.txt1
-rw-r--r--src/tools/map_extractor/CMakeLists.txt6
-rw-r--r--src/tools/mmaps_generator/CMakeLists.txt6
-rw-r--r--src/tools/vmap4_assembler/CMakeLists.txt6
-rw-r--r--src/tools/vmap4_extractor/CMakeLists.txt6
12 files changed, 41 insertions, 52 deletions
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
index c2098260917..e026b7b5302 100644
--- a/src/common/CMakeLists.txt
+++ b/src/common/CMakeLists.txt
@@ -53,10 +53,6 @@ target_include_directories(common
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
-set_target_properties(common
- PROPERTIES
- DEFINE_SYMBOL TRINITY_API_EXPORT_COMMON)
-
target_link_libraries(common
PRIVATE
trinity-core-interface
@@ -74,12 +70,13 @@ target_link_libraries(common
jemalloc
short_alloc)
-add_dependencies(common revision_data.h)
-
set_target_properties(common
- PROPERTIES
- FOLDER
- "server")
+ PROPERTIES
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
+ DEFINE_SYMBOL TRINITY_API_EXPORT_COMMON
+ FOLDER "server")
+
+add_dependencies(common revision_data.h)
if(BUILD_SHARED_LIBS)
if(UNIX)
diff --git a/src/server/authserver/CMakeLists.txt b/src/server/authserver/CMakeLists.txt
index ac887a897e2..32aaadc2b00 100644
--- a/src/server/authserver/CMakeLists.txt
+++ b/src/server/authserver/CMakeLists.txt
@@ -58,9 +58,9 @@ target_include_directories(authserver
${CMAKE_CURRENT_BINARY_DIR})
set_target_properties(authserver
- PROPERTIES
- FOLDER
- "server")
+ PROPERTIES
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
+ FOLDER "server")
if(UNIX)
install(TARGETS authserver DESTINATION bin)
diff --git a/src/server/database/CMakeLists.txt b/src/server/database/CMakeLists.txt
index 6d1dd4daa91..9b9dc97ca2c 100644
--- a/src/server/database/CMakeLists.txt
+++ b/src/server/database/CMakeLists.txt
@@ -36,10 +36,6 @@ target_include_directories(database
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
-set_target_properties(database
- PROPERTIES
- DEFINE_SYMBOL TRINITY_API_EXPORT_DATABASE)
-
target_link_libraries(database
PRIVATE
trinity-core-interface
@@ -48,9 +44,10 @@ target_link_libraries(database
common)
set_target_properties(database
- PROPERTIES
- FOLDER
- "server")
+ PROPERTIES
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
+ DEFINE_SYMBOL TRINITY_API_EXPORT_DATABASE
+ FOLDER "server")
if(BUILD_SHARED_LIBS)
if(UNIX)
diff --git a/src/server/game/CMakeLists.txt b/src/server/game/CMakeLists.txt
index 8b621a873fd..48731a4ec30 100644
--- a/src/server/game/CMakeLists.txt
+++ b/src/server/game/CMakeLists.txt
@@ -46,10 +46,6 @@ target_include_directories(game
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
-set_target_properties(game
- PROPERTIES
- DEFINE_SYMBOL TRINITY_API_EXPORT_GAME)
-
target_link_libraries(game
PRIVATE
trinity-core-interface
@@ -63,9 +59,10 @@ if(TARGET efsw)
endif()
set_target_properties(game
- PROPERTIES
- FOLDER
- "server")
+ PROPERTIES
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
+ DEFINE_SYMBOL TRINITY_API_EXPORT_GAME
+ FOLDER "server")
if(BUILD_SHARED_LIBS)
if(UNIX)
diff --git a/src/server/scripts/CMakeLists.txt b/src/server/scripts/CMakeLists.txt
index 337ef999de1..fb4ba169b4c 100644
--- a/src/server/scripts/CMakeLists.txt
+++ b/src/server/scripts/CMakeLists.txt
@@ -173,8 +173,8 @@ foreach(SCRIPT_MODULE ${SCRIPT_MODULE_LIST})
set_target_properties(${SCRIPT_MODULE_PROJECT_NAME}
PROPERTIES
- FOLDER
- "scripts")
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
+ FOLDER "scripts")
if(UNIX)
install(TARGETS ${SCRIPT_MODULE_PROJECT_NAME}
@@ -220,8 +220,8 @@ target_include_directories(scripts
set_target_properties(scripts
PROPERTIES
- FOLDER
- "scripts")
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
+ FOLDER "server")
# Generate precompiled header
if(USE_SCRIPTPCH)
diff --git a/src/server/shared/CMakeLists.txt b/src/server/shared/CMakeLists.txt
index 56c6ef3789c..9e0bce32b1b 100644
--- a/src/server/shared/CMakeLists.txt
+++ b/src/server/shared/CMakeLists.txt
@@ -37,10 +37,6 @@ target_include_directories(shared
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
-set_target_properties(shared
- PROPERTIES
- DEFINE_SYMBOL TRINITY_API_EXPORT_SHARED)
-
target_link_libraries(shared
PRIVATE
trinity-core-interface
@@ -48,9 +44,10 @@ target_link_libraries(shared
database)
set_target_properties(shared
- PROPERTIES
- FOLDER
- "server")
+ PROPERTIES
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
+ DEFINE_SYMBOL TRINITY_API_EXPORT_SHARED
+ FOLDER "server")
if(BUILD_SHARED_LIBS)
if(UNIX)
diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt
index 84e247249a7..3f6f76c2d54 100644
--- a/src/server/worldserver/CMakeLists.txt
+++ b/src/server/worldserver/CMakeLists.txt
@@ -59,9 +59,9 @@ target_include_directories(worldserver
${CMAKE_CURRENT_BINARY_DIR})
set_target_properties(worldserver
- PROPERTIES
- FOLDER
- "server")
+ PROPERTIES
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
+ FOLDER "server")
# Add all dynamic projects as dependency to the worldserver
if(WORLDSERVER_DYNAMIC_SCRIPT_MODULES_DEPENDENCIES)
diff --git a/src/tools/extractor_common/CMakeLists.txt b/src/tools/extractor_common/CMakeLists.txt
index 400f92c83b3..1c806d5ea26 100644
--- a/src/tools/extractor_common/CMakeLists.txt
+++ b/src/tools/extractor_common/CMakeLists.txt
@@ -27,4 +27,5 @@ target_include_directories(extractor_common
set_target_properties(extractor_common
PROPERTIES
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
FOLDER "tools")
diff --git a/src/tools/map_extractor/CMakeLists.txt b/src/tools/map_extractor/CMakeLists.txt
index 7da1f5fc949..25f981063cc 100644
--- a/src/tools/map_extractor/CMakeLists.txt
+++ b/src/tools/map_extractor/CMakeLists.txt
@@ -38,9 +38,9 @@ target_include_directories(mapextractor
${CMAKE_CURRENT_BINARY_DIR})
set_target_properties(mapextractor
- PROPERTIES
- FOLDER
- "tools")
+ PROPERTIES
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
+ FOLDER "tools")
if(UNIX)
install(TARGETS mapextractor DESTINATION bin)
diff --git a/src/tools/mmaps_generator/CMakeLists.txt b/src/tools/mmaps_generator/CMakeLists.txt
index 007666eb950..88258a6a4b5 100644
--- a/src/tools/mmaps_generator/CMakeLists.txt
+++ b/src/tools/mmaps_generator/CMakeLists.txt
@@ -34,9 +34,9 @@ target_include_directories(mmaps_generator
${CMAKE_CURRENT_BINARY_DIR})
set_target_properties(mmaps_generator
- PROPERTIES
- FOLDER
- "tools")
+ PROPERTIES
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
+ FOLDER "tools")
if(UNIX)
install(TARGETS mmaps_generator DESTINATION bin)
diff --git a/src/tools/vmap4_assembler/CMakeLists.txt b/src/tools/vmap4_assembler/CMakeLists.txt
index 0fc5db86c77..9af81c8519d 100644
--- a/src/tools/vmap4_assembler/CMakeLists.txt
+++ b/src/tools/vmap4_assembler/CMakeLists.txt
@@ -20,9 +20,9 @@ target_link_libraries(vmap4assembler
zlib)
set_target_properties(vmap4assembler
- PROPERTIES
- FOLDER
- "tools")
+ PROPERTIES
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
+ FOLDER "tools")
if(UNIX)
install(TARGETS vmap4assembler DESTINATION bin)
diff --git a/src/tools/vmap4_extractor/CMakeLists.txt b/src/tools/vmap4_extractor/CMakeLists.txt
index 1a02ec7c73d..d7521ab0913 100644
--- a/src/tools/vmap4_extractor/CMakeLists.txt
+++ b/src/tools/vmap4_extractor/CMakeLists.txt
@@ -21,9 +21,9 @@ target_link_libraries(vmap4extractor
extractor_common)
set_target_properties(vmap4extractor
- PROPERTIES
- FOLDER
- "tools")
+ PROPERTIES
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
+ FOLDER "tools")
if(UNIX)
install(TARGETS vmap4extractor DESTINATION bin)