Merge pull request #88244 from shana/vs-improve-settings

Visual Studio: Don't override user options. Add additional vs hint information
This commit is contained in:
Rémi Verschelde 2024-04-08 11:19:58 +02:00
commit 1f71d491d0
No known key found for this signature in database
GPG Key ID: C3336907360768E1
2 changed files with 16 additions and 12 deletions

View File

@ -1452,14 +1452,18 @@ def generate_vs_project(env, original_args, project_name="godot"):
props_template = props_template.replace("%%OUTPUT%%", output) props_template = props_template.replace("%%OUTPUT%%", output)
props_template = props_template.replace( proplist = [format_key_value(v) for v in list(env["CPPDEFINES"])]
"%%DEFINES%%", ";".join([format_key_value(v) for v in list(env["CPPDEFINES"])]) proplist += [format_key_value(j) for j in env.get("VSHINT_DEFINES", [])]
) props_template = props_template.replace("%%DEFINES%%", ";".join(proplist))
props_template = props_template.replace("%%INCLUDES%%", ";".join([str(j) for j in env["CPPPATH"]]))
props_template = props_template.replace( proplist = [str(j) for j in env["CPPPATH"]]
"%%OPTIONS%%", proplist += [str(j) for j in env.get("VSHINT_INCLUDES", [])]
" ".join(env["CCFLAGS"]) + " " + " ".join([x for x in env["CXXFLAGS"] if not x.startswith("$")]), props_template = props_template.replace("%%INCLUDES%%", ";".join(proplist))
)
proplist = env["CCFLAGS"]
proplist += [x for x in env["CXXFLAGS"] if not x.startswith("$")]
proplist += [str(j) for j in env.get("VSHINT_OPTIONS", [])]
props_template = props_template.replace("%%OPTIONS%%", " ".join(proplist))
# Windows allows us to have spaces in paths, so we need # Windows allows us to have spaces in paths, so we need
# to double quote off the directory. However, the path ends # to double quote off the directory. However, the path ends

View File

@ -4,13 +4,13 @@
<NMakeBuildCommandLine>%%BUILD%%</NMakeBuildCommandLine> <NMakeBuildCommandLine>%%BUILD%%</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>%%REBUILD%%</NMakeReBuildCommandLine> <NMakeReBuildCommandLine>%%REBUILD%%</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>%%CLEAN%%</NMakeCleanCommandLine> <NMakeCleanCommandLine>%%CLEAN%%</NMakeCleanCommandLine>
<NMakeOutput>%%OUTPUT%%</NMakeOutput> <NMakeOutput Condition="'$(NMakeOutput)' == ''">%%OUTPUT%%</NMakeOutput>
<NMakePreprocessorDefinitions>%%DEFINES%%</NMakePreprocessorDefinitions> <NMakePreprocessorDefinitions>%%DEFINES%%;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<NMakeIncludeSearchPath>%%INCLUDES%%</NMakeIncludeSearchPath> <NMakeIncludeSearchPath>%%INCLUDES%%;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
<NMakeForcedIncludes>$(NMakeForcedIncludes)</NMakeForcedIncludes> <NMakeForcedIncludes>$(NMakeForcedIncludes)</NMakeForcedIncludes>
<NMakeAssemblySearchPath>$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> <NMakeAssemblySearchPath>$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeForcedUsingAssemblies>$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> <NMakeForcedUsingAssemblies>$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<AdditionalOptions>%%OPTIONS%%</AdditionalOptions> <AdditionalOptions>%%OPTIONS%% $(AdditionalOptions)</AdditionalOptions>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="%%CONDITION%%"> <PropertyGroup Condition="%%CONDITION%%">
%%PROPERTIES%% %%PROPERTIES%%