add_custom_target не всегда перерисовывается - PullRequest
0 голосов
/ 06 февраля 2019

Эта первая цель всегда повторяется:

add_custom_target(testcmake1 COMMAND ${CMAKE_COMMAND} -E echo "Running testcmake1 step 1")
add_custom_command(TARGET testcmake1 COMMAND ${CMAKE_COMMAND} -E echo "Running testcmake1 step 2")

И вывод:

1>Running testcmake1 step 1
1>Running testcmake1 step 2

Однако эта цель дает тот же результат при первом запуске, но затем ничего не выводится напоследующие сборки:

add_custom_target(testcmake2)
add_custom_command(TARGET testcmake2 COMMAND ${CMAKE_COMMAND} -E echo "Running testcmake2 step 1")
add_custom_command(TARGET testcmake2 COMMAND ${CMAKE_COMMAND} -E echo "Running testcmake2 step 2")

Есть идеи, что я делаю не так?

1 Ответ

0 голосов
/ 06 февраля 2019

Во втором случае создается пустая цель без выходов.Чтобы запустить его из графического интерфейса Visual Studio 2017, нужно щелкнуть правой кнопкой мыши цель и выбрать цель проекта только для ссылки.

В первом случае это была не пустая цель.Чтобы запустить его из графического интерфейса, достаточно было выбрать цель только для проекта.

При запуске из командной строки он вызывает MSBuild.exe напрямую, поэтому он работает как положено.

Он предоставляет доступошибка с add_custom_target(testcmake2 ALL), потому что она никогда не запускается при построении цели ALL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...