summaryrefslogtreecommitdiff
path: root/SConstruct
diff options
context:
space:
mode:
authorMathew Robinson <mathew@chasinglogic.io>2020-02-19 14:16:18 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-02-21 19:34:45 +0000
commit9791eb19d2945a7b60ca0099dc1330c260be78c3 (patch)
treeadf03c487e2cb3952ff2c1ca899a2db98df032a4 /SConstruct
parent0abcb05ffcf0f6fa0ea71923f6f81b285e0378d7 (diff)
downloadmongo-9791eb19d2945a7b60ca0099dc1330c260be78c3.tar.gz
SERVER-46096 Add NINJA_PREFIX
Diffstat (limited to 'SConstruct')
-rw-r--r--SConstruct27
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"),