Jelajahi Sumber

Fix checks for available compiler flags

Adam Hunyadi 4 tahun lalu
induk
melakukan
cf90b37da9
2 mengubah file dengan 4 tambahan dan 6 penghapusan
  1. 2 3
      cmake/AddCCompilerFlag.cmake
  2. 2 3
      cmake/AddCXXCompilerFlag.cmake

+ 2 - 3
cmake/AddCCompilerFlag.cmake

@@ -24,9 +24,8 @@ function(add_c_compiler_flag FLAG)
   string(REPLACE "+" "X" SANITIZED_FLAG ${SANITIZED_FLAG})
   string(REPLACE "+" "X" SANITIZED_FLAG ${SANITIZED_FLAG})
   string(REGEX REPLACE "[^A-Za-z_0-9]" "_" SANITIZED_FLAG ${SANITIZED_FLAG})
   string(REGEX REPLACE "[^A-Za-z_0-9]" "_" SANITIZED_FLAG ${SANITIZED_FLAG})
   string(REGEX REPLACE "_+" "_" SANITIZED_FLAG ${SANITIZED_FLAG})
   string(REGEX REPLACE "_+" "_" SANITIZED_FLAG ${SANITIZED_FLAG})
-  set(CMAKE_REQUIRED_FLAGS "${FLAG}")
-  check_c_compiler_flag("" ${SANITIZED_FLAG})
-  if(${SANITIZED_FLAG})
+  check_c_compiler_flag(${SANITIZED_FLAG} NO_DIAGNOSTICS_PRODUCED)
+  if(${NO_DIAGNOSTICS_PRODUCED})
     set(VARIANT ${ARGV1})
     set(VARIANT ${ARGV1})
     if(ARGV1)
     if(ARGV1)
       string(REGEX REPLACE "[^A-Za-z_0-9]" "_" VARIANT "${VARIANT}")
       string(REGEX REPLACE "[^A-Za-z_0-9]" "_" VARIANT "${VARIANT}")

+ 2 - 3
cmake/AddCXXCompilerFlag.cmake

@@ -24,9 +24,8 @@ function(add_cxx_compiler_flag FLAG)
   string(REPLACE "+" "X" SANITIZED_FLAG ${SANITIZED_FLAG})
   string(REPLACE "+" "X" SANITIZED_FLAG ${SANITIZED_FLAG})
   string(REGEX REPLACE "[^A-Za-z_0-9]" "_" SANITIZED_FLAG ${SANITIZED_FLAG})
   string(REGEX REPLACE "[^A-Za-z_0-9]" "_" SANITIZED_FLAG ${SANITIZED_FLAG})
   string(REGEX REPLACE "_+" "_" SANITIZED_FLAG ${SANITIZED_FLAG})
   string(REGEX REPLACE "_+" "_" SANITIZED_FLAG ${SANITIZED_FLAG})
-  set(CMAKE_REQUIRED_FLAGS "${FLAG}")
-  check_cxx_compiler_flag("" ${SANITIZED_FLAG})
-  if(${SANITIZED_FLAG})
+  check_cxx_compiler_flag(${SANITIZED_FLAG} NO_DIAGNOSTICS_PRODUCED)
+  if(${NO_DIAGNOSTICS_PRODUCED})
     set(VARIANT ${ARGV1})
     set(VARIANT ${ARGV1})
     if(ARGV1)
     if(ARGV1)
       string(REGEX REPLACE "[^A-Za-z_0-9]" "_" VARIANT "${VARIANT}")
       string(REGEX REPLACE "[^A-Za-z_0-9]" "_" VARIANT "${VARIANT}")