Я пытаюсь написать функцию-обертку для некоторых функций CMake.Но, сталкиваясь с проблемой, когда дело доходит до того, чтобы сделать аргумент / параметр необязательным.
function(test_function1 TARGET MOD_NAME)
if (ARGV2)
message("---->")
message(${ARGV2})
else()
message("-1---> Not Found1")
endif()
endfunction()
function(test_function2 TARGET MOD_NAME FLEX_NAME)
if (ARGV3)
message("---->")
message(ARGV3)
test_function1(${TARGET} ${MOD_NAME} ${ARV3})
else()
message("-2---> Not Found1")
test_function1(${TARGET} ${MOD_NAME})
endif()
endfunction()
Здесь функция test_function2 должна иметь 4-й аргумент (ARGV3) в качестве необязательного.Эта функция должна вызывать функцию «test_function1».Если ARVG3 предоставляется первой «test_function2», то он должен передать ее «test_function1», иначе нет.Однако, когда 4-й аргумент не включен, «test_function1», похоже, все еще обнаруживает 3-й аргумент, который фактически является 3-м аргументом, передаваемым в test_function2.Итак, похоже, что CMake передает список аргументов и вызову подфункции.
Итак, вопрос в том, как избежать этого или любого другого подходящего альтернативного варианта аргументации?
Спасибо!