d プロジェクトで waf を試しています。D の優れた機能の 1 つは、コンパイル時にファイル全体をコードに「インポート」することです。これを行うには、インポートするファイルを検索するフォルダーを指定する必要があります。dmd コンパイラの場合、-Jpath コマンドライン オプションを使用する必要があります。
さまざまなフォルダーに 100 個のファイルを含むライブラリを構築していますが、特定のファイルのコピーに対してのみ -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')