summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2020-05-18 13:58:27 +0200
committerRémi Verschelde <rverschelde@gmail.com>2020-05-18 14:11:19 +0200
commit22c718ab1777485ad5edf5254d45815e7ffa5000 (patch)
tree40ced81b93e32d1f8bc8137f29822d7c00d70582
parent37efaad8fbfc7b263d1f077a3f12cbe46ae5a393 (diff)
downloadredot-engine-22c718ab1777485ad5edf5254d45815e7ffa5000.tar.gz
SCons: Improve registration of compilation_db tool, check version
There's a builtin `toolpath` option we can use for that, so no need to hack around a custom `scons_site` path. The script requires SCons 3.1.1 or later, so we enable it conditionally. Follow-up to #32848.
-rw-r--r--SConstruct13
-rw-r--r--misc/scons/compilation_db.py (renamed from misc/scons/site_tools/compilation_db.py)0
2 files changed, 6 insertions, 7 deletions
diff --git a/SConstruct b/SConstruct
index 86014b8160..f74940b059 100644
--- a/SConstruct
+++ b/SConstruct
@@ -272,14 +272,13 @@ if selected_platform in platform_list:
else:
env = env_base.Clone()
- # Custom tools are loaded automatically by SCons from site_scons/site_tools,
- # but we want to use a different folder, so we register it manually.
- from SCons.Script.Main import _load_site_scons_dir
+ # Compilation DB requires SCons 3.1.1+.
+ from SCons import __version__ as scons_raw_version
- _load_site_scons_dir(".", "misc/scons")
-
- env.Tool("compilation_db")
- env.Alias("compiledb", env.CompilationDatabase("compile_commands.json"))
+ scons_ver = env._get_major_minor_revision(scons_raw_version)
+ if scons_ver >= (3, 1, 1):
+ env.Tool("compilation_db", toolpath=["misc/scons"])
+ env.Alias("compiledb", env.CompilationDatabase("compile_commands.json"))
if env["dev"]:
env["verbose"] = True
diff --git a/misc/scons/site_tools/compilation_db.py b/misc/scons/compilation_db.py
index 87db32adc9..87db32adc9 100644
--- a/misc/scons/site_tools/compilation_db.py
+++ b/misc/scons/compilation_db.py