首页 > 解决方案 > 如果自定义命令的任何步骤失败,则中止 cmake 配置

问题描述

我想要一个自定义目标来准备测试环境,生成一些相关的 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.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 步会尝试执行,我不喜欢这样做。有没有办法处理这个问题?

标签: pythoncmakepython-venv

解决方案


推荐阅读