From 3bd5f5a631052ca05b8895f7ede346812e15f557 Mon Sep 17 00:00:00 2001 From: feng716 Date: Sat, 6 Jul 2024 15:15:28 +0800 Subject: [PATCH] Add version determination --- CMakeLists.txt | 14 ++++++++++++++ qrenderdoc/qrenderdoc.pro | 1 - 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 68e9518fc..4690c74cc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -379,6 +379,20 @@ else () set (CMAKE_CXX_STANDARD_REQUIRED ON) endif () +# Detect g++ version +if (CMAKE_HOST_SYSTEM_NAME MATCHES "Linux") + execute_process(COMMAND sed -i "/QMAKE_CXXFLAGS += -Wno-error=template-id-cdtor/d" qrenderdoc/qrenderdoc.pro) + execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpfullversion OUTPUT_VARIABLE GCC_VERSION) + string(REGEX MATCHALL "[0-9]+" GCC_VERSION_COMPONENTS ${GCC_VERSION}) + list(GET GCC_VERSION_COMPONENTS 0 GCC_MAJOR) + list(GET GCC_VERSION_COMPONENTS 1 GCC_MINOR) + message(STATUS "gcc-mj=${GCC_MAJOR}, gcc-mn=${GCC_MINOR}") + if(GCC_MAJOR GREATER_EQUAL "14") + execute_process(COMMAND sed -i "/QMAKE_CXXFLAGS += -Wno-deprecated-declarations/a\\QMAKE_CXXFLAGS += -Wno-error=template-id-cdtor" qrenderdoc/qrenderdoc.pro) + message(STATUS "add option -Wno-error=template-id-cdtor") + endif() +endif() + if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden") diff --git a/qrenderdoc/qrenderdoc.pro b/qrenderdoc/qrenderdoc.pro index c7deab90c..e4dd356db 100644 --- a/qrenderdoc/qrenderdoc.pro +++ b/qrenderdoc/qrenderdoc.pro @@ -37,7 +37,6 @@ DEFINES += QT_NO_DEPRECATED_WARNINGS # HA HA good joke, QT_NO_DEPRECATED_WARNINGS only covers SOME warnings, not all QMAKE_CXXFLAGS += -Wno-deprecated-declarations -QMAKE_CXXFLAGS += -Wno-error=template-id-cdtor # Different output folders per platform win32 {