SCons: Fix compilation database generation with MSVC

Fixes #54434.

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

View File

@ -383,19 +383,6 @@ if selected_platform in platform_list:
env = env_base.Clone()
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"] != "":
@ -695,6 +682,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.