Python 如果自定义命令的任何步骤失败,则中止cmake配置
我希望有一个定制的目标,它将准备测试环境,生成一些相关的python代码,等等。 以下是我的CMakeLists.txt的一部分:Python 如果自定义命令的任何步骤失败,则中止cmake配置,python,cmake,python-venv,Python,Cmake,Python Venv,我希望有一个定制的目标,它将准备测试环境,生成一些相关的python代码,等等。 以下是我的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.j
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放在不同的命令部分,因为步骤3激活虚拟环境,步骤4将在该环境中安装一个包
目前,如果第3步失败,那么第4步就会尝试执行,这是我不喜欢的。有办法解决这个问题吗?因为从CMake的角度来看,
步骤3
和步骤4
不是“步骤”,问题不在于CMake方式,而在于如果步骤3
成功,执行步骤4
的shell方式。关于这个话题有很多问题。请参见例如建议有帮助的方法command1和&command2
@Tsyvarev。非常感谢。