mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Build: Add WITH_WARNINGS_AS_ERRORS cmake option that turns compile warnings into compile errors
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user