summaryrefslogtreecommitdiff
path: root/cmake/Modules/BuiltinTests.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/Modules/BuiltinTests.cmake')
-rw-r--r--cmake/Modules/BuiltinTests.cmake16
1 files changed, 9 insertions, 7 deletions
diff --git a/cmake/Modules/BuiltinTests.cmake b/cmake/Modules/BuiltinTests.cmake
index fde5f7590..1b03e94ac 100644
--- a/cmake/Modules/BuiltinTests.cmake
+++ b/cmake/Modules/BuiltinTests.cmake
@@ -49,12 +49,14 @@ function(try_compile_only output)
endfunction()
function(builtin_check_c_compiler_flag flag output)
- message(STATUS "Performing Test ${output}")
- try_compile_only(result ${flag})
- set(${output} ${result} PARENT_SCOPE)
- if(${result})
- message(STATUS "Performing Test ${output} - Success")
- else()
- message(STATUS "Performing Test ${output} - Failed")
+ if(NOT DEFINED ${output})
+ message(STATUS "Performing Test ${output}")
+ try_compile_only(result ${flag})
+ set(${output} ${result} CACHE INTERNAL "Compiler supports ${flag}")
+ if(${result})
+ message(STATUS "Performing Test ${output} - Success")
+ else()
+ message(STATUS "Performing Test ${output} - Failed")
+ endif()
endif()
endfunction()