commit e49d59dafc37c38642a640504fe00e696116af26
Author: Georg Baum <b...@lyx.org>
Date:   Sat Jul 2 12:39:08 2016 +0200

    Fix std::regex detection for older gcc
    
    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 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/development/cmake/modules/FindCXX11Compiler.cmake 
b/development/cmake/modules/FindCXX11Compiler.cmake
index ddd4713..56fa0c3 100644
--- a/development/cmake/modules/FindCXX11Compiler.cmake
+++ b/development/cmake/modules/FindCXX11Compiler.cmake
@@ -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

Reply via email to