Я экспериментирую с waf для моего проекта d. Одной из приятных особенностей D является «импорт» целых файлов в код во время компиляции. Для этого вам нужно указать папки, которые будут просматриваться для импортируемых файлов. В случае компилятора dmd вы должны использовать параметр командной строки -Jpath.
Я создаю библиотеку с сотней файлов в разных папках, и я хочу иметь возможность указать параметр -J только для копирования некоторых конкретных файлов. Это делается в cmake с чем-то вроде:
set_source_files_properties(
core/shader.d PROPERTIES COMPILE_FLAGS
-J${CMAKE_CURRENT_SOURCE_DIR}/core/gl2/shaders )
Но я не знаю, как это сделать. Мой 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')