CMake:在扩展变量后运行shell脚本

时间:2013-11-15 12:53:31

标签: bash cmake build-process

以下是问题,我遇到了

  1. 我有一个名为my_script.sh.IN的shell脚本。我使用configure_file扩展脚本,从而创建my_script.sh。
  2. 然后我需要运行my_script.sh。为此,我使用的是execute_process()。
  3. 我需要在CMake时间完成所有这些工作。
  4. 问题:问题是,当我运行“cmake”时,系统抱怨他找不到“my_script.sh”。我认为execute_process依赖关系似乎是在configure_file()函数运行之前计算的。

    当我第二次运行“cmake”命令时,一切都很顺利。有谁知道我怎么能在execute_process之前执行configure_file?

1 个答案:

答案 0 :(得分:0)

你应该尝试类似的东西:

set_source_files_properties("pat/to/my_script.sh" PROPERTIES GENERATED true)

它告诉cmake不要过早检查文件的存在性。您可能必须使用包含生成的shell脚本路径的变量,而不是直接键入其路径。

但是你的问题更可能与执行的cmake命令的顺序有关。您应该确保在CMake解析器执行execute_process()之前运行configure_file()。