aboutsummaryrefslogtreecommitdiff
path: root/CMakeModules/CheckFunctionKeywords.cmake
blob: 44601fd4e9fa15f0d9a26481d84ebf0662316131 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
include(CheckCSourceCompiles)

macro(check_function_keywords _wordlist)
  set(${_result} "")
  foreach(flag ${_wordlist})
    string(REGEX REPLACE "[-+/ ()]" "_" flagname "${flag}")
    string(TOUPPER "${flagname}" flagname)
    set(have_flag "HAVE_${flagname}")
    check_c_source_compiles("${flag} void func(); void func() { } int main() { func(); return 0; }" ${have_flag})
    if(${have_flag} AND NOT ${_result})
      set(${_result} "${flag}")
#      break()
    endif(${have_flag} AND NOT ${_result})
  endforeach(flag)
endmacro(check_function_keywords)