diff options
author | Mathew Robinson <mathew@chasinglogic.io> | 2020-02-19 14:16:18 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-02-21 19:34:45 +0000 |
commit | 9791eb19d2945a7b60ca0099dc1330c260be78c3 (patch) | |
tree | adf03c487e2cb3952ff2c1ca899a2db98df032a4 /SConstruct | |
parent | 0abcb05ffcf0f6fa0ea71923f6f81b285e0378d7 (diff) | |
download | mongo-9791eb19d2945a7b60ca0099dc1330c260be78c3.tar.gz |
SERVER-46096 Add NINJA_PREFIX
Diffstat (limited to 'SConstruct')
-rw-r--r-- | SConstruct | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/SConstruct b/SConstruct index eca31e4210d..34cbe6d77c8 100644 --- a/SConstruct +++ b/SConstruct @@ -834,6 +834,25 @@ env_vars.Add('MSVC_VERSION', help='Sets the version of Visual C++ to use (e.g. 14.1 for VS2017, 14.2 for VS2019)', default="14.2") +env_vars.Add('NINJA_PREFIX', + default="build", + help="""A prefix to add to the beginning of generated ninja +files. Useful for when compiling multiple build ninja files for +different configurations, for instance: + + scons --sanitize=asan --ninja NINJA_PREFIX=asan asan.ninja + scons --sanitize=tsan --ninja NINJA_PREFIX=tsan tsan.ninja + +Will generate the files (respectively): + + asan.ninja + tsan.ninja + +Defaults to build, best used with the generate-ninja alias so you don't have to +reiterate the prefix in the target name and variable. +""") + + env_vars.Add('NINJA_SUFFIX', help="""A suffix to add to the end of generated build.ninja files. Useful for when compiling multiple build ninja files for @@ -3783,9 +3802,13 @@ if get_option('ninja') != 'disabled': env.Alias("all", env.Alias("generated-sources")) env.Alias("core", env.Alias("generated-sources")) + ninja_suffix = env.get("NINJA_SUFFIX", "") + if ninja_suffix and ninja_suffix[0] != ".": + env["NINJA_SUFFIX"] = "." + ninja_suffix + if get_option("install-mode") == "hygienic": ninja_build = env.Ninja( - target="build.ninja", + target="${NINJA_PREFIX}.ninja$NINJA_SUFFIX", source=[ env.Alias("install-all-meta"), env.Alias("test-execution-aliases"), @@ -3793,7 +3816,7 @@ if get_option('ninja') != 'disabled': ) else: ninja_build = env.Ninja( - target="build.ninja", + target="${NINJA_PREFIX}.ninja$NINJA_SUFFIX", source=[ env.Alias("all"), env.Alias("test-execution-aliases"), |