首页 > 解决方案 > CMake execute_process 的多个输入文件

问题描述

我想用 execute_process() 在 CMake 中执行一个命令。我在一个变量中有多个输入文件。如何将所有文件放入 INPUT_FILE 部分?

使用

execute_process(
    COMMAND
        ${Python3_EXECUTABLE}
        ${CMAKE_SOURCE_DIR}/tools/generator.py
        ${input_files}
    INPUT_FILE ${CMAKE_SOURCE_DIR}/tools/generator.py
    INPUT_FILE ${input_files}
    OUTPUT_FILE ${output_files})

给出以下消息:

CMake Error at /cmake/codegen.cmake:112 (execute_process):
    execute_process given unknown argument
    "second_file.name"

标签: cmake

解决方案


INPUT_FILE 和 OUTPUT_FILE 不能包含一个由命令使用或更改的文件。列出的文件是该进程的标准输入和输出。

OUTPUT_FILE 中给出的文件实际上是标准输出的日志文件。INPUT_FILE 是用户在触发执行命令后通过控制台提供的输入。


推荐阅读