我正在努力实现以下目标:
macro(OVERLOAD_TEST par1 par2)
message ("Macro with two arguments")
endmacro()
macro(OVERLOAD_TEST par1 par2 par3)
message ("Macro with three arguments")
endmacro()
并且,这样调用宏:
OVERLOAD_TEST("A" "B" "C")
OVERLOAD_TEST("A" "B")
但是出现如下错误:
Macro with three arguments
CMake Error at CMakeLists.txt:59 (OVERLOAD_TEST):
OVERLOAD_TEST Macro invoked with incorrect arguments for macro named:
OVERLOAD_TEST
我是否应该使用 CMake 的可选参数支持功能来代替并且只有一个宏?