我有一个 SConscript,它被复制到构建目录 (variant_dir = ...
) 进行构建。作为 not being able to express dependencies 的解决方法,我正在尝试将一些附加文件复制到构建目录中。
如何确定 SConscript 中当前的构建目录是什么?
例如,在以下布局中,内部 SConscript 文件应将 my_build_directory
设置为“build/something”。
project/
SConstruct # "SConscript('something/SConscript', variant_dir = 'build/something')
something/
SConscript # "my_build_directory = ..."
最佳答案
我的回答似乎太简单了,所以也许我误解了这个问题,但是......
对我来说,在 subdir/SConscript 中:
my_build_directory = '.'
echo_cmd = Command('always.echo', [], "echo %s" % (Dir('.').abspath))
Alias('echo', echo_cmd)
产生:
# => cd test-scons
# => ls
# build/ SConstruct subdir/
# => scons echo
# scons: Building targets ...
# echo HOME/test-scons/build/subdir
# HOME/test-scons/build/subdir
# scons: done building targets.
关于python - 从 SConscript 确定构建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1916473/