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