summaryrefslogtreecommitdiff
path: root/Modules/CheckIncludeFileCXX.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/CheckIncludeFileCXX.cmake')
-rw-r--r--Modules/CheckIncludeFileCXX.cmake11
1 files changed, 11 insertions, 0 deletions
diff --git a/Modules/CheckIncludeFileCXX.cmake b/Modules/CheckIncludeFileCXX.cmake
index 2ad5cf105b..0fe6a5c579 100644
--- a/Modules/CheckIncludeFileCXX.cmake
+++ b/Modules/CheckIncludeFileCXX.cmake
@@ -4,6 +4,7 @@
# CHECK_INCLUDE_FILE - macro which checks the include file exists.
# INCLUDE - name of include file
# VARIABLE - variable to return result
+# OPTIONAL - a third argument can be extra flags which are passed to the compiler
#
MACRO(CHECK_INCLUDE_FILE_CXX INCLUDE VARIABLE)
@@ -12,10 +13,20 @@ MACRO(CHECK_INCLUDE_FILE_CXX INCLUDE VARIABLE)
SET(CHECK_INCLUDE_FILE_VAR ${INCLUDE})
CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
${CMAKE_BINARY_DIR}/CMakeTmp/CheckIncludeFile.cxx IMMEDIATE)
+ IF(${ARGC} EQUAL 2)
+ SET(CMAKE_CXX_FLAGS_SAVE ${CMAKE_CXX_FLAGS})
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARGV2}")
+ ENDIF(${ARGC} EQUAL 2)
+
TRY_COMPILE(${VARIABLE}
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/CMakeTmp/CheckIncludeFile.cxx
OUTPUT_VARIABLE OUTPUT)
+
+ IF(${ARGC} EQUAL 2)
+ SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS_SAVE})
+ ENDIF(${ARGC} EQUAL 2)
+
IF(${VARIABLE})
MESSAGE(STATUS "Checking for CXX include file ${INCLUDE} -- found")
SET(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")