【发布时间】:2018-09-14 00:40:22
【问题描述】:
在我看来,scons 目标不是按声明顺序生成的。我的问题是,我需要先生成一些代码,我正在使用 protoc 将 my.proto 文件处理为 .h 和 .cc 文件,我需要一些这样的伪代码(工作代码应该是什么样的?)
import os
env=Environment(ENV=os.environ,LIBPATH='/usr/local/lib')
env.ShellExecute('protoc', '--outdir=. --out-lang=cpp', 'my.proto')//produces my.cc
myObj=Object('my.cc')//should wait until 'my.cc' is generated by protoc
Dependency(myObj, 'my.cc')
mainObj=Object('main.cpp')
我的问题是:
如何在SConstruct/SConscript中指定protoc的ShellExecution?
如何确保'main.cpp'的编译依赖'my.cc'的存在,也就是等'my.cc'生成后再执行?
【问题讨论】:
标签: shell dependencies execute scons protoc