Я хочу использовать в своих пользовательских командах « задания» Ninja ;наконец-то что-то напрямую поддерживается в cmake 3.15.0.Многие / большинство людей не будут иметь эту версию, поэтому я хотел бы просто ДОБАВИТЬ эту поддержку, не требуя, чтобы кто-либо обновил их версию cmake.
Более общий вопрос ...
«Какой лучший способ указать условное предложение пользовательской команды…?»
add_custom_command(
OUTPUT foo
COMMAND ${CMAKE_COMMAND} -E touch foo
if("${CMAKE_VERSION}" STRGREATER_EQUAL "3.15.0") # <-- syntax error
JOB_POOL my_job_pool # <-- syntax error
endif() # <-- syntax error
VERBATIM
)
Может быть ...?
if("${CMAKE_VERSION}" STRGREATER_EQUAL "3.15.0")
set(USE_JOB_POOL JOB_POOL my_job_pool)
endif()
add_custom_command(
OUTPUT foo
COMMAND ${CMAKE_COMMAND} -E touch foo
${USE_JOB_POOL}
VERBATIM
)
Или ...?
add_custom_command(
OUTPUT foo
COMMAND ${CMAKE_COMMAND} -E touch foo
$<IF:$<VERSION_GREATER_EQUAL:${CMAKE_VERSION},3.15.0>:JOB_POOL my_job_pool>
VERBATIM
)