diff --git a/CMakeLists.txt b/CMakeLists.txt index 273e3fe21..e9808a236 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -149,6 +149,7 @@ 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) @@ -168,6 +169,8 @@ 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) @@ -191,21 +194,14 @@ 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 - -Wmissing-declarations - -Wno-error=extra - -Wno-error=delete-non-virtual-dtor - -Wno-error=sign-compare - -Wno-error=missing-declarations - -Wno-error=sfinae-incomplete + -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 ) foreach(FLAG ${ADDITIONAL_DEBUG_FLAGS})