Функция CMake, передающая ARGV в функцию, вызываемую внутри
Я пытаюсь написать функцию-обертку для некоторых функций 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 передает список аргументов и вызову подфункции.
Итак, вопрос в том, как избежать этого или любого другого подходящего альтернативного варианта аргументации?
Спасибо!