From 1b48e17ab8ad55426a7d32defd8c392dcd1a59bb 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 2a324cfb3f..057ec7628c 100644 --- a/SConstruct +++ b/SConstruct @@ -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()) - # 'dev' and 'production' are aliases to set default options if they haven't been set # manually by the user. if env["dev"]: @@ -704,6 +691,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.