xref: /freebsd-src/contrib/libevent/cmake/CheckFunctionKeywords.cmake (revision b50261e21f39a6c7249a49e7b60aa878c98512a8)
1*b50261e2SCy Schubertinclude(CheckCSourceCompiles)
2*b50261e2SCy Schubert
3*b50261e2SCy Schubertmacro(check_function_keywords _wordlist)
4*b50261e2SCy Schubert  set(${_result} "")
5*b50261e2SCy Schubert  foreach(flag ${_wordlist})
6*b50261e2SCy Schubert    string(REGEX REPLACE "[-+/ ()]" "_" flagname "${flag}")
7*b50261e2SCy Schubert    string(TOUPPER "${flagname}" flagname)
8*b50261e2SCy Schubert    set(have_flag "HAVE_${flagname}")
9*b50261e2SCy Schubert    check_c_source_compiles("${flag} void func(); void func() { } int main() { func(); return 0; }" ${have_flag})
10*b50261e2SCy Schubert    if(${have_flag} AND NOT ${_result})
11*b50261e2SCy Schubert      set(${_result} "${flag}")
12*b50261e2SCy Schubert    endif(${have_flag} AND NOT ${_result})
13*b50261e2SCy Schubert  endforeach(flag)
14*b50261e2SCy Schubertendmacro(check_function_keywords)
15