aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/options.cmake1
-rw-r--r--cmake/showoptions.cmake8
-rw-r--r--src/common/CMakeLists.txt15
-rw-r--r--src/server/bnetserver/CMakeLists.txt6
-rw-r--r--src/server/database/CMakeLists.txt11
-rw-r--r--src/server/game/CMakeLists.txt11
-rw-r--r--src/server/proto/CMakeLists.txt9
-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.txt6
-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
15 files changed, 54 insertions, 62 deletions
diff --git a/cmake/options.cmake b/cmake/options.cmake
index e650123d71f..05d8e9e0d68 100644
--- a/cmake/options.cmake
+++ b/cmake/options.cmake
@@ -47,6 +47,7 @@ else()
set(BUILD_SHARED_LIBS OFF)
endif()
option(WITH_WARNINGS "Show all warnings during compile" 0)
+option(WITH_WARNINGS_AS_ERRORS "Treat warnings as errors" 0)
option(WITH_COREDEBUG "Include additional debug-code in core" 0)
option(WITHOUT_METRICS "Disable metrics reporting (i.e. InfluxDB and Grafana)" 0)
option(WITH_DETAILED_METRICS "Enable detailed metrics reporting (i.e. time each session takes to update)" 0)
diff --git a/cmake/showoptions.cmake b/cmake/showoptions.cmake
index 12cf83a467e..f842aead712 100644
--- a/cmake/showoptions.cmake
+++ b/cmake/showoptions.cmake
@@ -61,7 +61,13 @@ endif()
if(WITH_WARNINGS)
message("* Show all warnings : Yes")
else()
- message("* Show compile-warnings : No (default)")
+ message("* Show all warnings : No (default)")
+endif()
+
+if(WITH_WARNINGS_AS_ERRORS)
+ message("* Stop build on warning : Yes")
+else()
+ message("* Stop build on warning : No (default)")
endif()
if(WITH_COREDEBUG)
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
index ae8896f1782..b202dc5f9a4 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
@@ -75,12 +71,13 @@ target_link_libraries(common
openssl_ed25519
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/bnetserver/CMakeLists.txt b/src/server/bnetserver/CMakeLists.txt
index 951e4abb2e1..efe4c61fe74 100644
--- a/src/server/bnetserver/CMakeLists.txt
+++ b/src/server/bnetserver/CMakeLists.txt
@@ -58,9 +58,9 @@ target_include_directories(bnetserver
${CMAKE_CURRENT_BINARY_DIR})
set_target_properties(bnetserver
- PROPERTIES
- FOLDER
- "server")
+ PROPERTIES
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
+ FOLDER "server")
add_custom_command(TARGET bnetserver
POST_BUILD
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 c1e275809b5..ccd18ef8e62 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
@@ -58,9 +54,10 @@ target_link_libraries(game
game-interface)
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/proto/CMakeLists.txt b/src/server/proto/CMakeLists.txt
index 84fd3c7f27f..517b34f448e 100644
--- a/src/server/proto/CMakeLists.txt
+++ b/src/server/proto/CMakeLists.txt
@@ -38,10 +38,6 @@ target_include_directories(proto
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
-set_target_properties(proto
- PROPERTIES
- DEFINE_SYMBOL TRINITY_API_EXPORT_PROTO)
-
target_link_libraries(proto
PRIVATE
trinity-default-interface
@@ -52,8 +48,9 @@ target_link_libraries(proto
set_target_properties(proto
PROPERTIES
- FOLDER
- "server")
+ COMPILE_WARNING_AS_ERROR ${WITH_WARNINGS_AS_ERRORS}
+ DEFINE_SYMBOL TRINITY_API_EXPORT_PROTO
+ 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 0398e8c43c2..e5de78eb747 100644
--- a/src/server/shared/CMakeLists.txt
+++ b/src/server/shared/CMakeLists.txt
@@ -36,10 +36,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
@@ -50,9 +46,10 @@ target_link_libraries(shared
zlib)
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 ca7a869ba16..bc0ed4e3656 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 902fe06e689..8455731db7e 100644
--- a/src/tools/extractor_common/CMakeLists.txt
+++ b/src/tools/extractor_common/CMakeLists.txt
@@ -26,6 +26,6 @@ target_include_directories(extractor_common
${CMAKE_CURRENT_SOURCE_DIR})
set_target_properties(extractor_common
- PROPERTIES
- FOLDER
- "tools")
+ 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 371b80604fb..a8d959ce3c0 100644
--- a/src/tools/mmaps_generator/CMakeLists.txt
+++ b/src/tools/mmaps_generator/CMakeLists.txt
@@ -35,9 +35,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 71378937f04..84a5a33c264 100644
--- a/src/tools/vmap4_assembler/CMakeLists.txt
+++ b/src/tools/vmap4_assembler/CMakeLists.txt
@@ -24,9 +24,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 95ae191053d..c53e39fe423 100644
--- a/src/tools/vmap4_extractor/CMakeLists.txt
+++ b/src/tools/vmap4_extractor/CMakeLists.txt
@@ -31,9 +31,9 @@ target_include_directories(vmap4extractor
${CMAKE_CURRENT_BINARY_DIR})
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)