Merge pull request #94117 from mhilbrunner/fix-94090-vsproj-scons-4.8

Fix VS project generation with SCons 4.8.0+
This commit is contained in:
Rémi Verschelde 2024-07-09 16:47:29 +02:00
commit 5514510f7f
No known key found for this signature in database
GPG Key ID: C3336907360768E1

View File

@ -648,6 +648,7 @@ def detect_visual_c_compiler_version(tools_env):
def find_visual_c_batch_file(env): def find_visual_c_batch_file(env):
# TODO: We should investigate if we can avoid relying on SCons internals here.
from SCons.Tool.MSCommon.vc import find_batch_file, find_vc_pdir, get_default_version, get_host_target from SCons.Tool.MSCommon.vc import find_batch_file, find_vc_pdir, get_default_version, get_host_target
msvc_version = get_default_version(env) msvc_version = get_default_version(env)
@ -661,10 +662,11 @@ def find_visual_c_batch_file(env):
if env.scons_version < (4, 6, 0): if env.scons_version < (4, 6, 0):
return find_batch_file(env, msvc_version, host_platform, target_platform)[0] return find_batch_file(env, msvc_version, host_platform, target_platform)[0]
# Scons 4.6.0+ removed passing env, so we need to get the product_dir ourselves first, # SCons 4.6.0+ removed passing env, so we need to get the product_dir ourselves first,
# then pass that as the last param instead of env as the first param as before. # then pass that as the last param instead of env as the first param as before.
# We should investigate if we can avoid relying on SCons internals here. # Param names need to be explicit, as they were shuffled around in SCons 4.8.0.
product_dir = find_vc_pdir(env, msvc_version) product_dir = find_vc_pdir(msvc_version=msvc_version, env=env)
return find_batch_file(msvc_version, host_platform, target_platform, product_dir)[0] return find_batch_file(msvc_version, host_platform, target_platform, product_dir)[0]