Browse Source

COMP: Check for -Wno-long-double before using

Older GCC on the Mac warns for use of long double, so we use
-Wno-long-double.  Newer GCC on the Mac does not have this flag and
gives an error.  We now check for the flag before using it.
See bug #7357.
Brad King 17 years ago
parent
commit
129f3bef2d
1 changed files with 13 additions and 9 deletions
  1. 13 9
      Utilities/cmcurl/CMakeLists.txt

+ 13 - 9
Utilities/cmcurl/CMakeLists.txt

@@ -675,15 +675,19 @@ ELSE(RETSIGTYPE_TEST)
 ENDIF(RETSIGTYPE_TEST)
 
 IF(CMAKE_COMPILER_IS_GNUCC AND APPLE)
-  # The Mac version of GCC warns about use of long double.  Disable it.
-  GET_SOURCE_FILE_PROPERTY(MPRINTF_COMPILE_FLAGS mprintf.c COMPILE_FLAGS)
-  IF(MPRINTF_COMPILE_FLAGS)
-    SET(MPRINTF_COMPILE_FLAGS "${MPRINTF_COMPILE_FLAGS} -Wno-long-double")
-  ELSE(MPRINTF_COMPILE_FLAGS)
-    SET(MPRINTF_COMPILE_FLAGS "-Wno-long-double")
-  ENDIF(MPRINTF_COMPILE_FLAGS)
-  SET_SOURCE_FILES_PROPERTIES(mprintf.c PROPERTIES
-    COMPILE_FLAGS ${MPRINTF_COMPILE_FLAGS})
+  INCLUDE(CheckCCompilerFlag)
+  CHECK_C_COMPILER_FLAG(-Wno-long-double HAVE_C_FLAG_Wno_long_double)
+  IF(HAVE_C_FLAG_Wno_long_double)
+    # The Mac version of GCC warns about use of long double.  Disable it.
+    GET_SOURCE_FILE_PROPERTY(MPRINTF_COMPILE_FLAGS mprintf.c COMPILE_FLAGS)
+    IF(MPRINTF_COMPILE_FLAGS)
+      SET(MPRINTF_COMPILE_FLAGS "${MPRINTF_COMPILE_FLAGS} -Wno-long-double")
+    ELSE(MPRINTF_COMPILE_FLAGS)
+      SET(MPRINTF_COMPILE_FLAGS "-Wno-long-double")
+    ENDIF(MPRINTF_COMPILE_FLAGS)
+    SET_SOURCE_FILES_PROPERTIES(mprintf.c PROPERTIES
+      COMPILE_FLAGS ${MPRINTF_COMPILE_FLAGS})
+  ENDIF(HAVE_C_FLAG_Wno_long_double)
 ENDIF(CMAKE_COMPILER_IS_GNUCC AND APPLE)
 
 INCLUDE(CMake/OtherTests.cmake)