From 9f44bcc81842a836ca781b6723036351dcee8ca5 Mon Sep 17 00:00:00 2001 From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com> Date: Mon, 15 May 2023 09:44:26 +0200 Subject: [PATCH] Treat compiler warnings as errors Treat them as errors globally. Most of the time a warning is a bug, or problem in code that could be solved in a different (better) manner. Thirdparty code have this disabled. The warnings as errors option can be globally disabled through the CMake GUI, but this is not recommended. --- r5dev/appframework/CMakeLists.txt | 2 +- r5dev/cmake/Macros.cmake | 47 +++++++++++++++++++++++- r5dev/cmake/Options.cmake | 12 +++++- r5dev/codecs/CMakeLists.txt | 2 +- r5dev/core/CMakeLists.txt | 2 +- r5dev/datacache/CMakeLists.txt | 2 +- r5dev/ebisusdk/CMakeLists.txt | 2 +- r5dev/engine/CMakeLists.txt | 2 +- r5dev/filesystem/CMakeLists.txt | 2 +- r5dev/game/CMakeLists.txt | 2 +- r5dev/gameui/CMakeLists.txt | 2 +- r5dev/inputsystem/CMakeLists.txt | 2 +- r5dev/launcher/CMakeLists.txt | 2 +- r5dev/localize/CMakeLists.txt | 2 +- r5dev/materialsystem/CMakeLists.txt | 2 +- r5dev/mathlib/CMakeLists.txt | 2 +- r5dev/naveditor/CMakeLists.txt | 2 +- r5dev/netconsole/CMakeLists.txt | 2 +- r5dev/networksystem/CMakeLists.txt | 2 +- r5dev/pluginsdk/CMakeLists.txt | 2 +- r5dev/pluginsystem/CMakeLists.txt | 2 +- r5dev/protoc/CMakeLists.txt | 9 +++-- r5dev/rtech/CMakeLists.txt | 8 ++-- r5dev/sdklauncher/CMakeLists.txt | 2 +- r5dev/thirdparty/cppnet/CMakeLists.txt | 5 ++- r5dev/thirdparty/curl/CMakeLists.txt | 2 +- r5dev/thirdparty/detours/CMakeLists.txt | 2 +- r5dev/thirdparty/fastlz/CMakeLists.txt | 2 +- r5dev/thirdparty/imgui/CMakeLists.txt | 2 +- r5dev/thirdparty/lzham/CMakeLists.txt | 2 +- r5dev/thirdparty/protobuf/CMakeLists.txt | 3 +- r5dev/thirdparty/recast/CMakeLists.txt | 10 ++--- r5dev/thirdparty/sdl/CMakeLists.txt | 4 +- r5dev/thirdparty/spdlog/CMakeLists.txt | 3 +- r5dev/tier0/CMakeLists.txt | 2 +- r5dev/tier1/CMakeLists.txt | 2 +- r5dev/tier2/CMakeLists.txt | 2 +- r5dev/vgui/CMakeLists.txt | 2 +- r5dev/vguimatsurface/CMakeLists.txt | 2 +- r5dev/vpc/CMakeLists.txt | 2 +- r5dev/vphysics/CMakeLists.txt | 2 +- r5dev/vpklib/CMakeLists.txt | 2 +- r5dev/vscript/CMakeLists.txt | 2 +- r5dev/vstdlib/CMakeLists.txt | 2 +- 44 files changed, 116 insertions(+), 55 deletions(-) diff --git a/r5dev/appframework/CMakeLists.txt b/r5dev/appframework/CMakeLists.txt index f70fb886..dce22f16 100644 --- a/r5dev/appframework/CMakeLists.txt +++ b/r5dev/appframework/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "appframework" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "appframework" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/cmake/Macros.cmake b/r5dev/cmake/Macros.cmake index 004c924a..02c5d043 100644 --- a/r5dev/cmake/Macros.cmake +++ b/r5dev/cmake/Macros.cmake @@ -44,7 +44,7 @@ endmacro() # ----------------------------------------------------------------------------- # Add modules to the project # ----------------------------------------------------------------------------- -macro( add_module MODULE_TYPE MODULE_NAME REUSE_PCH FOLDER_NAME ) +macro( add_module MODULE_TYPE MODULE_NAME REUSE_PCH FOLDER_NAME WARNINGS_AS_ERRORS ) project( ${MODULE_NAME} ) if( ${MODULE_TYPE} STREQUAL "lib" ) @@ -54,7 +54,7 @@ macro( add_module MODULE_TYPE MODULE_NAME REUSE_PCH FOLDER_NAME ) target_link_options( ${PROJECT_NAME} PRIVATE "$<$:/LTCG>" ) - elseif(${MODULE_TYPE} STREQUAL "exe") + elseif( ${MODULE_TYPE} STREQUAL "exe" ) add_executable( ${PROJECT_NAME} ) target_link_options( ${PROJECT_NAME} PRIVATE "$<$:/LTCG>" @@ -68,6 +68,10 @@ macro( add_module MODULE_TYPE MODULE_NAME REUSE_PCH FOLDER_NAME ) endif() set_target_properties( ${MODULE_NAME} PROPERTIES FOLDER ${FOLDER_NAME} ) + + if( ${GLOBAL_WARNINGS_AS_ERRORS} ) + warnings_as_errors( ${PROJECT_NAME} ${WARNINGS_AS_ERRORS} ) + endif() endmacro() # ----------------------------------------------------------------------------- @@ -93,3 +97,42 @@ macro( whole_program_optimization ) $<$:/GL> ) endmacro() + +# ----------------------------------------------------------------------------- +# Toggles wether or not to treat warnings as errors +# ----------------------------------------------------------------------------- +macro( warnings_as_errors TARGET FLAG ) + if( ${FLAG} ) + if( MSVC ) + target_compile_options( ${TARGET} PRIVATE /WX ) + else() + target_compile_options( ${TARGET} PRIVATE -Werror ) + endif() + else() + if( MSVC ) + target_compile_options( ${TARGET} PRIVATE "/wd4996" ) + else() + target_compile_options( ${TARGET} PRIVATE "-Wno-error" ) + endif() + endif() +endmacro() + +# ----------------------------------------------------------------------------- +# Disables verbose warnings caused within thirdparty code ( !only use on thirdparty projects! ) +# ----------------------------------------------------------------------------- +macro( thirdparty_suppress_warnings ) + if( MSVC OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) + target_compile_options( ${PROJECT_NAME} PRIVATE + /wd4100 # Unreferenced formal parameter. + /wd4152 # Function/data pointer conversion in expression. + /wd4200 # Zero-sized array in union; SDL2 uses this for compiler compatibility. + /wd4201 # Nameless struct/union. + /wd4244 # Type conversion truncation; protobuf has many, but this appears intentional. + /wd4267 # Type conversion truncation; protobuf has many, but this appears intentional. + /wd4307 # Integral constant overflow. + /wd4389 # Signed/unsigned mismatch. + /wd4505 # Unreferenced local function has been removed. + ) + endif() + warnings_as_errors( ${PROJECT_NAME} FALSE ) +endmacro() diff --git a/r5dev/cmake/Options.cmake b/r5dev/cmake/Options.cmake index 38b2e31c..8818a702 100644 --- a/r5dev/cmake/Options.cmake +++ b/r5dev/cmake/Options.cmake @@ -12,6 +12,16 @@ macro( apply_project_settings ) $<$:/DUNICODE> ) + # Suppress certain compiler warnings + # ( !don't suppress warnings here that are specific to a project! ) + add_compile_options( + $<$:/wd4996> # 'The POSIX name for this item is deprecated' + $<$:/wd4127> # 'Consider using 'if constexpr' statement instead' + ) + + # Some thirdparty code have Warnings as Errors disabled; this option won't override those. + option( GLOBAL_WARNINGS_AS_ERRORS "Treat compiler warnings as errors" ON ) + set( GAMEDLL_OPTION "GAMEDLL_S3" CACHE STRING "Game DLL version" ) set_property( CACHE GAMEDLL_OPTION PROPERTY STRINGS "GAMEDLL_S0" @@ -63,7 +73,7 @@ macro( apply_project_settings ) /DEBUG" ) - # Commonly used directories accross libraries. + # Commonly used directories accross libraries include_directories( "${ENGINE_SOURCE_DIR}/" "${ENGINE_SOURCE_DIR}/public/" diff --git a/r5dev/codecs/CMakeLists.txt b/r5dev/codecs/CMakeLists.txt index 6be341c2..ebd8d1c4 100644 --- a/r5dev/codecs/CMakeLists.txt +++ b/r5dev/codecs/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "codecs" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "codecs" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/core/CMakeLists.txt b/r5dev/core/CMakeLists.txt index ee0f2eeb..01231fa1 100644 --- a/r5dev/core/CMakeLists.txt +++ b/r5dev/core/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required( VERSION 3.16 ) macro( add_sdk_project PROJECT_NAME ) -add_module( "shared_lib" ${PROJECT_NAME} "vpc" ${FOLDER_CONTEXT} ) +add_module( "shared_lib" ${PROJECT_NAME} "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/datacache/CMakeLists.txt b/r5dev/datacache/CMakeLists.txt index 426f869f..f6a688c9 100644 --- a/r5dev/datacache/CMakeLists.txt +++ b/r5dev/datacache/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "datacache" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "datacache" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/ebisusdk/CMakeLists.txt b/r5dev/ebisusdk/CMakeLists.txt index 2cbce379..6c9e82c1 100644 --- a/r5dev/ebisusdk/CMakeLists.txt +++ b/r5dev/ebisusdk/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "EbisuSDK" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "EbisuSDK" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/engine/CMakeLists.txt b/r5dev/engine/CMakeLists.txt index 96e449c7..9b9abed6 100644 --- a/r5dev/engine/CMakeLists.txt +++ b/r5dev/engine/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required( VERSION 3.16 ) macro( add_engine_project PROJECT_NAME ) -add_module( "lib" ${PROJECT_NAME} "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" ${PROJECT_NAME} "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/filesystem/CMakeLists.txt b/r5dev/filesystem/CMakeLists.txt index 3ec6bc65..5003c7a2 100644 --- a/r5dev/filesystem/CMakeLists.txt +++ b/r5dev/filesystem/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "filesystem" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "filesystem" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/game/CMakeLists.txt b/r5dev/game/CMakeLists.txt index a759de54..10f5206e 100644 --- a/r5dev/game/CMakeLists.txt +++ b/r5dev/game/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "game" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "game" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/gameui/CMakeLists.txt b/r5dev/gameui/CMakeLists.txt index ccc78290..0b0c3458 100644 --- a/r5dev/gameui/CMakeLists.txt +++ b/r5dev/gameui/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "gameui" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "gameui" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/inputsystem/CMakeLists.txt b/r5dev/inputsystem/CMakeLists.txt index 85ac6b9a..a472a8f2 100644 --- a/r5dev/inputsystem/CMakeLists.txt +++ b/r5dev/inputsystem/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "inputsystem" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "inputsystem" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/launcher/CMakeLists.txt b/r5dev/launcher/CMakeLists.txt index cb1af2dc..ded0dfa0 100644 --- a/r5dev/launcher/CMakeLists.txt +++ b/r5dev/launcher/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "launcher" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "launcher" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/localize/CMakeLists.txt b/r5dev/localize/CMakeLists.txt index d3e5ffb9..878afc7d 100644 --- a/r5dev/localize/CMakeLists.txt +++ b/r5dev/localize/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "localize" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "localize" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/materialsystem/CMakeLists.txt b/r5dev/materialsystem/CMakeLists.txt index e1cad016..4898c74e 100644 --- a/r5dev/materialsystem/CMakeLists.txt +++ b/r5dev/materialsystem/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "materialsystem" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "materialsystem" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/mathlib/CMakeLists.txt b/r5dev/mathlib/CMakeLists.txt index 93fcdcf1..0eadc9ab 100644 --- a/r5dev/mathlib/CMakeLists.txt +++ b/r5dev/mathlib/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "mathlib" "" ${FOLDER_CONTEXT} ) +add_module( "lib" "mathlib" "" ${FOLDER_CONTEXT} TRUE) start_sources() diff --git a/r5dev/naveditor/CMakeLists.txt b/r5dev/naveditor/CMakeLists.txt index df21ca65..b607b54b 100644 --- a/r5dev/naveditor/CMakeLists.txt +++ b/r5dev/naveditor/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "exe" "naveditor" "" ${FOLDER_CONTEXT} ) +add_module( "exe" "naveditor" "" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/netconsole/CMakeLists.txt b/r5dev/netconsole/CMakeLists.txt index bcfaedba..4f4428bf 100644 --- a/r5dev/netconsole/CMakeLists.txt +++ b/r5dev/netconsole/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "exe" "netconsole" "vpc" ${FOLDER_CONTEXT} ) +add_module( "exe" "netconsole" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/networksystem/CMakeLists.txt b/r5dev/networksystem/CMakeLists.txt index e1a9b9ad..c5608079 100644 --- a/r5dev/networksystem/CMakeLists.txt +++ b/r5dev/networksystem/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "networksystem" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "networksystem" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/pluginsdk/CMakeLists.txt b/r5dev/pluginsdk/CMakeLists.txt index 393ef3e1..8d306942 100644 --- a/r5dev/pluginsdk/CMakeLists.txt +++ b/r5dev/pluginsdk/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "shared_lib" "PluginSDK" "vpc" ${FOLDER_CONTEXT} ) +add_module( "shared_lib" "PluginSDK" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/pluginsystem/CMakeLists.txt b/r5dev/pluginsystem/CMakeLists.txt index 7554c3d4..801c13d6 100644 --- a/r5dev/pluginsystem/CMakeLists.txt +++ b/r5dev/pluginsystem/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "pluginsystem" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "pluginsystem" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/protoc/CMakeLists.txt b/r5dev/protoc/CMakeLists.txt index 20ed5ef7..8c1cabd7 100644 --- a/r5dev/protoc/CMakeLists.txt +++ b/r5dev/protoc/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "SigCache_PB" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "SigCache_PB" "vpc" ${FOLDER_CONTEXT} FALSE ) start_sources() @@ -9,8 +9,9 @@ add_sources( SOURCE_GROUP "Runtime" ) end_sources() +thirdparty_suppress_warnings() -add_module( "lib" "SV_RCon_PB" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "SV_RCon_PB" "vpc" ${FOLDER_CONTEXT} FALSE ) start_sources() @@ -20,8 +21,9 @@ add_sources( SOURCE_GROUP "Runtime" ) end_sources() +thirdparty_suppress_warnings() -add_module( "lib" "CL_RCon_PB" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "CL_RCon_PB" "vpc" ${FOLDER_CONTEXT} FALSE ) start_sources() @@ -31,3 +33,4 @@ add_sources( SOURCE_GROUP "Runtime" ) end_sources() +thirdparty_suppress_warnings() diff --git a/r5dev/rtech/CMakeLists.txt b/r5dev/rtech/CMakeLists.txt index 6ec38877..a3b78e05 100644 --- a/r5dev/rtech/CMakeLists.txt +++ b/r5dev/rtech/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "rtech_game" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "rtech_game" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() @@ -10,7 +10,7 @@ add_sources( SOURCE_GROUP "Source" end_sources() -add_module( "lib" "rtech_tools" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "rtech_tools" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() @@ -19,7 +19,7 @@ add_sources( SOURCE_GROUP "Source" "rtech_utils.h" ) -add_module( "lib" "rui" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "rui" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() @@ -28,7 +28,7 @@ add_sources( SOURCE_GROUP "Source" "rui/rui.h" ) -add_module( "lib" "stryder" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "stryder" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/sdklauncher/CMakeLists.txt b/r5dev/sdklauncher/CMakeLists.txt index 3eb12629..f7f9216a 100644 --- a/r5dev/sdklauncher/CMakeLists.txt +++ b/r5dev/sdklauncher/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "exe" "sdklauncher" "" ${FOLDER_CONTEXT} ) +add_module( "exe" "sdklauncher" "" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/thirdparty/cppnet/CMakeLists.txt b/r5dev/thirdparty/cppnet/CMakeLists.txt index 19d0d409..6eac67fe 100644 --- a/r5dev/thirdparty/cppnet/CMakeLists.txt +++ b/r5dev/thirdparty/cppnet/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "libcppkore" "" ${FOLDER_CONTEXT} ) +add_module( "lib" "libcppkore" "" ${FOLDER_CONTEXT} FALSE ) start_sources() @@ -326,4 +326,5 @@ add_sources( SOURCE_GROUP "Win32" "cppkore/Win32Error.h" ) -end_sources() \ No newline at end of file +end_sources() +thirdparty_suppress_warnings() \ No newline at end of file diff --git a/r5dev/thirdparty/curl/CMakeLists.txt b/r5dev/thirdparty/curl/CMakeLists.txt index 93f0bba6..95f97abe 100644 --- a/r5dev/thirdparty/curl/CMakeLists.txt +++ b/r5dev/thirdparty/curl/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "libcurl" "" ${FOLDER_CONTEXT} ) +add_module( "lib" "libcurl" "" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/thirdparty/detours/CMakeLists.txt b/r5dev/thirdparty/detours/CMakeLists.txt index 3b639f7e..6e0fbcd7 100644 --- a/r5dev/thirdparty/detours/CMakeLists.txt +++ b/r5dev/thirdparty/detours/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "libdetours" "" ${FOLDER_CONTEXT} ) +add_module( "lib" "libdetours" "" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/thirdparty/fastlz/CMakeLists.txt b/r5dev/thirdparty/fastlz/CMakeLists.txt index 57779243..b834aa1d 100644 --- a/r5dev/thirdparty/fastlz/CMakeLists.txt +++ b/r5dev/thirdparty/fastlz/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "FastLZ" "" ${FOLDER_CONTEXT} ) +add_module( "lib" "FastLZ" "" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/thirdparty/imgui/CMakeLists.txt b/r5dev/thirdparty/imgui/CMakeLists.txt index 3d015a20..345a6eab 100644 --- a/r5dev/thirdparty/imgui/CMakeLists.txt +++ b/r5dev/thirdparty/imgui/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "libimgui" "" ${FOLDER_CONTEXT} ) +add_module( "lib" "libimgui" "" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/thirdparty/lzham/CMakeLists.txt b/r5dev/thirdparty/lzham/CMakeLists.txt index 0476a67b..55e2d4aa 100644 --- a/r5dev/thirdparty/lzham/CMakeLists.txt +++ b/r5dev/thirdparty/lzham/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "liblzham" "" ${FOLDER_CONTEXT} ) +add_module( "lib" "liblzham" "" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/thirdparty/protobuf/CMakeLists.txt b/r5dev/thirdparty/protobuf/CMakeLists.txt index 1ab284c7..c7657395 100644 --- a/r5dev/thirdparty/protobuf/CMakeLists.txt +++ b/r5dev/thirdparty/protobuf/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "libprotobuf" "" ${FOLDER_CONTEXT} ) +add_module( "lib" "libprotobuf" "" ${FOLDER_CONTEXT} FALSE ) start_sources() @@ -103,3 +103,4 @@ add_sources( SOURCE_GROUP "Stubs/Include" ) end_sources() +thirdparty_suppress_warnings() diff --git a/r5dev/thirdparty/recast/CMakeLists.txt b/r5dev/thirdparty/recast/CMakeLists.txt index 90a8d610..3dc8bf52 100644 --- a/r5dev/thirdparty/recast/CMakeLists.txt +++ b/r5dev/thirdparty/recast/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required( VERSION 3.16 ) # ----------------------------------------------------------------------------- # Recast & Detour debug utilities # ----------------------------------------------------------------------------- -add_module( "lib" "navdebugutils" "" ${FOLDER_CONTEXT} ) +add_module( "lib" "navdebugutils" "" ${FOLDER_CONTEXT} TRUE ) start_sources() @@ -31,7 +31,7 @@ target_precompile_headers( ${PROJECT_NAME} PRIVATE # ----------------------------------------------------------------------------- # Detour runtime # ----------------------------------------------------------------------------- -add_module( "lib" "libdetour" "navdebugutils" ${FOLDER_CONTEXT} ) +add_module( "lib" "libdetour" "navdebugutils" ${FOLDER_CONTEXT} TRUE ) start_sources() @@ -63,7 +63,7 @@ whole_program_optimization() # ----------------------------------------------------------------------------- # Detour crowd # ----------------------------------------------------------------------------- -add_module( "lib" "libdetourcrowd" "navdebugutils" ${FOLDER_CONTEXT} ) +add_module( "lib" "libdetourcrowd" "navdebugutils" ${FOLDER_CONTEXT} TRUE ) start_sources() @@ -93,7 +93,7 @@ whole_program_optimization() # ----------------------------------------------------------------------------- # Detour tile cache # ----------------------------------------------------------------------------- -add_module( "lib" "libdetourtilecache" "navdebugutils" ${FOLDER_CONTEXT} ) +add_module( "lib" "libdetourtilecache" "navdebugutils" ${FOLDER_CONTEXT} TRUE ) start_sources() @@ -113,7 +113,7 @@ whole_program_optimization() # ----------------------------------------------------------------------------- # Recast runtime # ----------------------------------------------------------------------------- -add_module( "lib" "librecast" "navdebugutils" ${FOLDER_CONTEXT} ) +add_module( "lib" "librecast" "navdebugutils" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/thirdparty/sdl/CMakeLists.txt b/r5dev/thirdparty/sdl/CMakeLists.txt index c701b860..1813cd2b 100644 --- a/r5dev/thirdparty/sdl/CMakeLists.txt +++ b/r5dev/thirdparty/sdl/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "libsdl2" "" ${FOLDER_CONTEXT} ) +add_module( "lib" "libsdl2" "" ${FOLDER_CONTEXT} FALSE ) start_sources() @@ -557,3 +557,5 @@ end_sources() target_include_directories( ${PROJECT_NAME} PRIVATE "${ENGINE_SOURCE_DIR}/thirdparty/sdl/include/" ) + +thirdparty_suppress_warnings() diff --git a/r5dev/thirdparty/spdlog/CMakeLists.txt b/r5dev/thirdparty/spdlog/CMakeLists.txt index 5cd8ae7b..ebbb0538 100644 --- a/r5dev/thirdparty/spdlog/CMakeLists.txt +++ b/r5dev/thirdparty/spdlog/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "libspdlog" "" ${FOLDER_CONTEXT} ) +add_module( "lib" "libspdlog" "" ${FOLDER_CONTEXT} TRUE ) start_sources() @@ -133,6 +133,7 @@ add_sources( SOURCE_GROUP "Sinks" end_sources() whole_program_optimization() +thirdparty_suppress_warnings() target_compile_definitions( ${PROJECT_NAME} PRIVATE "SPDLOG_COMPILED_LIB" diff --git a/r5dev/tier0/CMakeLists.txt b/r5dev/tier0/CMakeLists.txt index 03fb07fe..efca1714 100644 --- a/r5dev/tier0/CMakeLists.txt +++ b/r5dev/tier0/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "tier0" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "tier0" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/tier1/CMakeLists.txt b/r5dev/tier1/CMakeLists.txt index 94c7e0db..302f4901 100644 --- a/r5dev/tier1/CMakeLists.txt +++ b/r5dev/tier1/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "tier1" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "tier1" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/tier2/CMakeLists.txt b/r5dev/tier2/CMakeLists.txt index 65968c26..45cce894 100644 --- a/r5dev/tier2/CMakeLists.txt +++ b/r5dev/tier2/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "tier2" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "tier2" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/vgui/CMakeLists.txt b/r5dev/vgui/CMakeLists.txt index 0fa5648d..0aa9de34 100644 --- a/r5dev/vgui/CMakeLists.txt +++ b/r5dev/vgui/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "vgui" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "vgui" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/vguimatsurface/CMakeLists.txt b/r5dev/vguimatsurface/CMakeLists.txt index d1f8eb18..2518daa4 100644 --- a/r5dev/vguimatsurface/CMakeLists.txt +++ b/r5dev/vguimatsurface/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "vguimatsurface" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "vguimatsurface" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/vpc/CMakeLists.txt b/r5dev/vpc/CMakeLists.txt index 71d165be..e39511aa 100644 --- a/r5dev/vpc/CMakeLists.txt +++ b/r5dev/vpc/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "vpc" "" ${FOLDER_CONTEXT} ) +add_module( "lib" "vpc" "" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/vphysics/CMakeLists.txt b/r5dev/vphysics/CMakeLists.txt index b3b85bbf..a62ff89c 100644 --- a/r5dev/vphysics/CMakeLists.txt +++ b/r5dev/vphysics/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "vphysics" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "vphysics" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/vpklib/CMakeLists.txt b/r5dev/vpklib/CMakeLists.txt index f85dd2e8..833ec5bc 100644 --- a/r5dev/vpklib/CMakeLists.txt +++ b/r5dev/vpklib/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "vpklib" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "vpklib" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/vscript/CMakeLists.txt b/r5dev/vscript/CMakeLists.txt index e80cda7c..7813b884 100644 --- a/r5dev/vscript/CMakeLists.txt +++ b/r5dev/vscript/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "vscript" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "vscript" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources() diff --git a/r5dev/vstdlib/CMakeLists.txt b/r5dev/vstdlib/CMakeLists.txt index aeed0cf4..eadd213f 100644 --- a/r5dev/vstdlib/CMakeLists.txt +++ b/r5dev/vstdlib/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required( VERSION 3.16 ) -add_module( "lib" "vstdlib" "vpc" ${FOLDER_CONTEXT} ) +add_module( "lib" "vstdlib" "vpc" ${FOLDER_CONTEXT} TRUE ) start_sources()