From: Kornel Benko Date: Fri, 15 Jul 2016 08:37:18 +0000 (+0200) Subject: Cmake build: Added code to compile with QT5.7 X-Git-Tag: 2.3.0alpha1~1263 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=7eea0b6fa8942cef7f024fc77d1c10550ec68ef7;hp=19e0adb86bafc6e7a27267a2cacbff0029f5170a;p=features.git 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 --- 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()