From 7eea0b6fa8942cef7f024fc77d1c10550ec68ef7 Mon Sep 17 00:00:00 2001 From: Kornel Benko Date: Fri, 15 Jul 2016 10:37:18 +0200 Subject: [PATCH 1/1] Cmake build: Added code to compile with QT5.7 QT5.7 cmake config files explicitly instruct cmake to use `-std=gnu++11`. This is not the same as is found by our FindCXX11Compiler.cmake, which leads to compilation errors. Here we overrule the setting. Thanks to helpfull hand from Brad King --- CMakeLists.txt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 48688dced3..7fd8b26f76 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -572,7 +572,15 @@ if(NOT MSVC) if(NOT LYX_QUIET) set(CMAKE_VERBOSE_MAKEFILE ON) endif() - set(LYX_CXX_FLAGS "-Wall -Wunused-parameter ${LYX_GCC11_MODE}") + set(LYX_CXX_FLAGS "-Wall -Wunused-parameter ${LYX_GCC11_MODE}") + if(LYX_CXX_FLAGS MATCHES "\\+\\+(14|11|98)") + # Thanks to Brad King + # for the pointer to https://cmake.org/cmake/help/v3.6/variable/CMAKE_CXX_STANDARD.html + # This allows us to use QT5.7 with recent g++ (version >= 4.9) compilers + # and still use our own c++ extension tests + set(CMAKE_CXX_STANDARD ${CMAKE_MATCH_1}) + message(STATUS "CMAKE_CXX_STANDARD set to ${CMAKE_CXX_STANDARD}") + endif() if(LYX_STDLIB_DEBUG) set(LYX_CXX_FLAGS "${LYX_CXX_FLAGS} -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC") endif() -- 2.39.2