xref: /netbsd-src/external/bsd/libevent/dist/cmake/CheckFunctionKeywords.cmake (revision 657871a79c9a2060a6255a242fa1a1ef76b56ec6)
1*657871a7Schristosinclude(CheckCSourceCompiles)
2*657871a7Schristos
3*657871a7Schristosmacro(check_function_keywords _wordlist)
4*657871a7Schristos  set(${_result} "")
5*657871a7Schristos  foreach(flag ${_wordlist})
6*657871a7Schristos    string(REGEX REPLACE "[-+/ ()]" "_" flagname "${flag}")
7*657871a7Schristos    string(TOUPPER "${flagname}" flagname)
8*657871a7Schristos    set(have_flag "HAVE_${flagname}")
9*657871a7Schristos    check_c_source_compiles("${flag} void func(); void func() { } int main() { func(); return 0; }" ${have_flag})
10*657871a7Schristos    if(${have_flag} AND NOT ${_result})
11*657871a7Schristos      set(${_result} "${flag}")
12*657871a7Schristos    endif(${have_flag} AND NOT ${_result})
13*657871a7Schristos  endforeach(flag)
14*657871a7Schristosendmacro(check_function_keywords)
15