diff options
Diffstat (limited to 'cmake/Modules/BuiltinTests.cmake')
-rw-r--r-- | cmake/Modules/BuiltinTests.cmake | 16 |
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() |