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