From b15f19911eb0e22caebf7bbebbd7e4f12110df96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Tue, 6 Sep 2022 22:59:08 +0200 Subject: [PATCH] SCons: Fix compilation database generation with MSVC Fixes #54434. Co-authored-by: Daniel Moody (cherry picked from commit 22381d9d074f77f4acb700c4d765e44e3f0727f7) --- SConstruct | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/SConstruct b/SConstruct index cb6d2a5c5..d16f67065 100644 --- a/SConstruct +++ b/SConstruct @@ -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.