0
我有一個調用check_function_exists()來檢測多個數學函數的CMake宏。CMake check_function_exists只在宏中調用一次
通過下面的輸出,似乎check_function_exists()只被稱爲第一次;
macro(nco_check_funcs func def)
message(${ARGV0})
check_function_exists(${ARGV0} have_result)
message(${have_result})
if (NOT have_result)
message("-- Using NCO defined version of ${ARGV0}")
add_definitions(-D${ARGV1})
endif()
endmacro(nco_check_funcs)
nco_check_funcs(atan2 NEED_ATAN2)
nco_check_funcs(acosf NEED_ACOSF)
nco_check_funcs(asinf NEED_ASINF)
在宏下面的例子
被稱爲3次,但 check_function_exists()的輸出僅示出了1次
atan2
-- Looking for atan2
-- Looking for atan2 - found
1
acosf
1
asinf
1