diff --git a/CMakeLists.txt b/CMakeLists.txt index e9808a236..273e3fe21 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -149,7 +149,6 @@ if(MSVC) # MS Visual C++ compiler # /MP Enable parallel compilation # /permissive- Enable strict standards compliance # /utf-8 Set source file encoding and execution char set to UTF-8 - # /wd4251 Suppress C4251 (DLL interface) warnings around DLL exports <-- removed to see how Qt6 handles it # /W4 Enable warning level 4 # /Zc:__cplusplus Enable C++20 detection in headers # /Zi Generate debugging information (Program Database, PDB) @@ -169,8 +168,6 @@ if(MSVC) # MS Visual C++ compiler # /OPT:ICF Fold identical code set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF") - add_compile_definitions(_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING) # check if this is still needed with C++20 - elseif(CMAKE_COMPILER_IS_GNUCXX) # Linux/GCC, BSD/GCC, Windows/MinGW include(CheckCXXCompilerFlag) @@ -194,14 +191,21 @@ elseif(CMAKE_COMPILER_IS_GNUCXX) # Linux/GCC, BSD/GCC, Windows/MinGW set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++20") endif() + # -Wcast-align Catch unsafe pointer casts + # -Wmissing-declarations Catch defined functions without prior declaration + # -Wno-error=extra Downgrade some -Wextra warnings from errors to warnings + # -Wno-error=delete-non-virtual-dtor <-- see if still needed? + # -Wno-error=sign-compare Downgrade comparing signed vs. unsigned integers from errors to warnings + # -Wno-error=missing-declarations Downgrade -Wmissing-declarations from errors to warnings + # -Wno-error=sfinae-incomplete GCC 16+: Qt MOC + protobuf forward declarations trigger this set(ADDITIONAL_DEBUG_FLAGS - -Wcast-align # Catch unsafe pointer casts - -Wmissing-declarations # Catch defined functions without prior declaration - -Wno-error=extra # Downgrade some -Wextra warnings from errors to warnings - -Wno-error=delete-non-virtual-dtor # <-- see if still needed? - -Wno-error=sign-compare # Downgrade comparing signed vs. unsigned integers from errors to warnings - -Wno-error=missing-declarations # Downgrade -Wmissing-declarations from errors to warnings - -Wno-error=sfinae-incomplete # GCC 16+: Qt MOC + protobuf forward declarations trigger this + -Wcast-align + -Wmissing-declarations + -Wno-error=extra + -Wno-error=delete-non-virtual-dtor + -Wno-error=sign-compare + -Wno-error=missing-declarations + -Wno-error=sfinae-incomplete ) foreach(FLAG ${ADDITIONAL_DEBUG_FLAGS})