为了账号安全,请及时绑定邮箱和手机立即绑定

CMake 运行脚本

CMake 运行脚本

德玛西亚99 2022-01-11 15:54:21
我正在尝试创建一个 CMake 构建,它将在构建软件之前运行几个 python 脚本,如果有的话。作为一个起点,我想创建一个只运行一个 python 脚本的 CMake 项目。我无法让脚本执行。这是我的项目中的内容。test.pyopen('script_output.txt', 'a').close()CMakeLists.txtcmake_minimum_required (VERSION 2.6)project (module)add_custom_command(OUTPUT script_output.c           COMMAND python test.py)add_custom_target(release ALL DEPENDS script_output.c)它似乎在尝试运行我不想要的 Visual Studio 编译器,也没有运行script_output.py我想要的python script 。我在这里做错了什么?
查看完整描述

1 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

Whileadd_custom_command将在您的代码编译期间运行(在 CMake 完成后),execute_process将在 CMake 配置阶段运行。


CMakeLists.txt


cmake_minimum_required(VERSION 3.0)


# Skip compiler check by enabling no languages.

project(TestProj NONE)


# Tell CMake to run python from the directory where this CMakeLists file exists.

execute_process(COMMAND python test.py

    WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})


# If you have more than one script to run, use a 

# separate execute_process command, to ensure sequential execution.

execute_process(COMMAND python test2.py

    WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})

此外,您可以指定RESULT_VARIABLE或OUTPUT_VARIABLE使用execute_process命令根据执行过程的返回码或标准输出设置 CMake 变量;这可能有助于影响后续的 CMake 行为。


另外,如果你真的想禁用 CMake 的初始编译器检查,你可以通过NONE在project命令中指定来禁用语言。


查看完整回答
反对 回复 2022-01-11
  • 1 回答
  • 0 关注
  • 372 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号