SCons: Fix compilation database generation with MSVC

Fixes #54434.

Co-authored-by: Daniel Moody <daniel.moody@mongodb.com>
(cherry picked from commit 22381d9d07)
This commit is contained in:
Rémi Verschelde 2022-09-06 22:59:08 +02:00
parent b21a3418f4
commit 7957dc7755

View file

@ -389,19 +389,6 @@ if selected_platform in platform_list:
)
env.SetOption("num_jobs", safer_cpu_count)
if env["compiledb"]:
# Generating the compilation DB (`compile_commands.json`) requires SCons 4.0.0 or later.
from SCons import __version__ as scons_raw_version
scons_ver = env._get_major_minor_revision(scons_raw_version)
if scons_ver < (4, 0, 0):
print("The `compiledb=yes` option requires SCons 4.0 or later, but your version is %s." % scons_raw_version)
Exit(255)
env.Tool("compilation_db")
env.Alias("compiledb", env.CompilationDatabase())
env.extra_suffix = ""
if env["extra_suffix"] != "":
@ -715,6 +702,19 @@ if selected_platform in platform_list:
env.vs_incs = []
env.vs_srcs = []
if env["compiledb"]:
# Generating the compilation DB (`compile_commands.json`) requires SCons 4.0.0 or later.
from SCons import __version__ as scons_raw_version
scons_ver = env._get_major_minor_revision(scons_raw_version)
if scons_ver < (4, 0, 0):
print("The `compiledb=yes` option requires SCons 4.0 or later, but your version is %s." % scons_raw_version)
Exit(255)
env.Tool("compilation_db")
env.Alias("compiledb", env.CompilationDatabase())
Export("env")
# build subdirs, the build order is dependent on link order.