D 如何仅为WAF中库的一个文件添加编译选项?
我正在为我的d项目试验waf。D的一个很好的特性是在编译时将整个文件“导入”到代码中。为此,必须指定要导入的文件将在其中查找的文件夹。对于dmd编译器,必须使用-Jpath命令行选项 我正在构建一个在不同文件夹中包含100个文件的库,我希望能够为某些特定文件的复制指定-J选项。这是在cmake中通过以下方式完成的:D 如何仅为WAF中库的一个文件添加编译选项?,d,waf,D,Waf,我正在为我的d项目试验waf。D的一个很好的特性是在编译时将整个文件“导入”到代码中。为此,必须指定要导入的文件将在其中查找的文件夹。对于dmd编译器,必须使用-Jpath命令行选项 我正在构建一个在不同文件夹中包含100个文件的库,我希望能够为某些特定文件的复制指定-J选项。这是在cmake中通过以下方式完成的: set_source_files_properties( core/shader.d PROPERTIES COMPILE_FLAGS -J${CMAKE
set_source_files_properties(
core/shader.d PROPERTIES COMPILE_FLAGS
-J${CMAKE_CURRENT_SOURCE_DIR}/core/gl2/shaders )
但在waf我不知道怎么做。我的wscript看起来像这样,但它将-J标志传递给所有文件:
#! /usr/bin/env python
# encoding: utf-8
def build(bld):
bld.stlib(
source =
'''
app/action.d
app/client.d
<...snip..>
core/shader.d
core/stream.d
''',
includes = ['..', '../extern' ],
name = 'mylib',
target = 'mylib
dflags = '-J/some/path/core/gl2/shaders')
#/usr/bin/env python
#编码:utf-8
def生成(bld):
bld.stlib(
来源=
'''
app/action.d
app/client.d
core/shader.d
核心/流程d
''',
includes=['..','../extern'],
名称='mylib',
target='mylib
dflags='-J/some/path/core/gl2/shaders')
您可以执行以下操作:
bld(
target="specialfile",
features="d",
source="specialfile.c",
defines=["SPECIAL=1"],
)
bld.stlib(
...,
use=["specialfile"],
)