我在源代码树中有protobuf原型文件.我想在每次更改和第一次运行时从proto文件生成源文件(例如,我创建新的原始文件).然后,我想从这些源文件中编译共享库并将它们保存在源代码树中.
实现目标的最佳方法是什么?
我自己找到了解决方案:
from waflib import Build, Utils, TaskGen
def build(bld):
bld.post_mode = Build.POST_LAZY
# some bld(...) tasks that generate source files.
bld.shlib(source='main.cc', dynamic_source='**/*.cc', target='test')
@TaskGen.feature('cxxshlib')
@TaskGen.before('process_source')
def dynamic_post(self):
if not getattr(self, 'dynamic_source', None):
return
self.source = Utils.to_list(self.source)
self.source.extend(self.path.get_bld().ant_glob(self.dynamic_source))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
808 次 |
| 最近记录: |