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(
"%%DEFINES%%", ";".join([format_key_value(v) for v in list(env["CPPDEFINES"])])
)
props_template = props_template.replace("%%INCLUDES%%", ";".join([str(j) for j in env["CPPPATH"]]))
props_template = props_template.replace(
"%%OPTIONS%%",
" ".join(env["CCFLAGS"]) + " " + " ".join([x for x in env["CXXFLAGS"] if not x.startswith("$")]),
)
proplist = [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))
proplist = [str(j) for j in env["CPPPATH"]]
proplist += [str(j) for j in env.get("VSHINT_INCLUDES", [])]
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
# to double quote off the directory. However, the path ends

View File

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