]> git.lyx.org Git - features.git/commitdiff
Fix std::regex detection for older gcc
authorGeorg Baum <baum@lyx.org>
Sat, 2 Jul 2016 10:39:08 +0000 (12:39 +0200)
committerGeorg Baum <baum@lyx.org>
Sat, 2 Jul 2016 10:39:08 +0000 (12:39 +0200)
Older gcc versions (e.g. the first one which has usable std::regex: gcc 4.9)
require the --std=c++11 flag to be set. Otherwise std::regex is not made
available. Therefore we need to keep the flag in the loop.

development/cmake/modules/FindCXX11Compiler.cmake

index ddd4713dadcc03c71251e6b8b5f1f02fc38e588e..56fa0c34fecacdd130ca359f84ece1b5c3b32b17 100644 (file)
@@ -104,12 +104,11 @@ int main()
 # check c compiler
 set(SAFE_CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET})
 set(CMAKE_REQUIRED_QUIET ON)
+SET(SAFE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
 FOREACH(FLAG ${CXX11_FLAG_CANDIDATES})
-  SET(SAFE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
   SET(CMAKE_REQUIRED_FLAGS "${FLAG}")
   UNSET(CXX11_FLAG_DETECTED CACHE)
   CHECK_CXX_SOURCE_COMPILES("${CXX11_TEST_SOURCE}" CXX11_FLAG_DETECTED)
-  SET(CMAKE_REQUIRED_FLAGS "${SAFE_CMAKE_REQUIRED_FLAGS}")
   IF(CXX11_FLAG_DETECTED)
     SET(CXX11_FLAG "${FLAG}")
     message(STATUS "CXX11_FLAG_DETECTED = \"${FLAG}\"")
@@ -125,6 +124,7 @@ FOREACH(FLAG ${CXX11_FLAG_CANDIDATES})
     break()
   ENDIF()
 ENDFOREACH()
+SET(CMAKE_REQUIRED_FLAGS "${SAFE_CMAKE_REQUIRED_FLAGS}")
 set(CMAKE_REQUIRED_QUIET ${SAFE_CMAKE_REQUIRED_QUIET})
 
 # handle the standard arguments for find_package