TryAppendCFlags.cmake raw
1 include(CheckCCompilerFlag)
2
3 function(secp256k1_check_c_flags_internal flags output)
4 string(MAKE_C_IDENTIFIER "${flags}" result)
5 string(TOUPPER "${result}" result)
6 set(result "C_SUPPORTS_${result}")
7 if(NOT MSVC)
8 set(CMAKE_REQUIRED_FLAGS "-Werror")
9 endif()
10
11 # This avoids running a linker.
12 set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
13 check_c_compiler_flag("${flags}" ${result})
14
15 set(${output} ${${result}} PARENT_SCOPE)
16 endfunction()
17
18 # Append flags to the COMPILE_OPTIONS directory property if CC accepts them.
19 macro(try_append_c_flags)
20 secp256k1_check_c_flags_internal("${ARGV}" result)
21 if(result)
22 add_compile_options(${ARGV})
23 endif()
24 endmacro()
25