如何设置scons输出完整的扩展命令行?

Ras*_*kan 5 c++ macos scons

我遇到过使用scons的构建系统.不熟悉scons本身就是一个相当复杂的框架,我很沮丧,无法调试构建问题.

我希望scons打印出正在调用的完全扩展的命令行(正如你在大多数构建系统中看到的那样)我发现你可以使用--debug = presub选项但是(至少在OSX上)它是无用的,因为它打印的值是未扩展的变量

例如:

Building build/obj/ios-uni-rel-sta-clang/common/libs/boost/libs/date_time/src/gregorian/date_generators.i386.o with action:
  $SHCXX -o $TARGET -c $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES
Run Code Online (Sandbox Code Playgroud)

你可以在scons命令行上提供一个VERBOSE = 1参数但是(至少在2.3.4版本中)我得到的版本,它似乎并不详细.

我并不是说Scons很糟糕,但维持它会变得有点夸张和膨胀:(

有人熟悉Scons吗?什么模块,实际命令在哪里被调用?我只想添加几张照片......

或者,如何设置PyDev或PyCharm以使用scons -debug = pdb进行连接?这有人吗?

bdb*_*dog 5

在 SConstruct、SConscript 或由其中一个加载的某些 python 模块(可能位于顶部目录下的 site_scons 中)中的某个地方,有人正在更改 *COMSTR 环境变量。

它看起来像:

env['SHCXXCOMSTR'] = "Building $TARGET"
Run Code Online (Sandbox Code Playgroud)

或者:

for k in env.keys():
    if k.endswith('COMSTR'):
        env[k] = "Building $TARGET"
Run Code Online (Sandbox Code Playgroud)

您需要注释掉这些行。

默认的 SCons 行为是显示命令行。

http://scons.org/doc/production/HTML/scons-man.html#cv-SHCXXCOMSTR


小智 -3

演出搭建=1

例如:$>scons SHOWBUILD=1

这对我有用