Я хотел бы иметь собственную цель, которая подготовит тестовую среду, сгенерирует некоторый связанный код python и т. Д. c. Вот часть моего CMakeLists.txt:
add_custom_target(test_env
COMMAND bash -c 'python3 -m venv ${DEPL_TEST_EXEC}/virtenv ' #step 1
COMMAND bash -c 'java -jar ${SWAGGER_PATH}/swagger-codegen-cli-3.0.15.jar generate -i ${SIGYN_SPECS}/mySpecialAPI.yaml -l python -o ${DEPL_TEST_EXEC}/mySpecialAPI' #step 2
COMMAND bash -c \'
. ${DEPL_TEST_EXEC}/virtenv/bin/activate\; #step 3
pip install ${DEPL_TEST_EXEC}/mySpecialAPI/ #step 4
')
Если шаг 1 или шаг 2 не пройден, то последующие шаги не выполняются. Но у меня не может быть шагов 3 и 4 в другом разделе COMMAND, потому что шаг 3 активирует виртуальную среду, а шаг 4 устанавливает пакет в эту среду.
В тот момент, если шаг 3 завершается неудачей, шаг 4 пытается быть выполнен, что я и не делаю не нравится Есть ли способ решить эту проблему?