Merge pull request #88253 from shana/vs-add-custom-config-support
Visual Studio: Fix user workflows with custom user VS configurations
This commit is contained in:
commit
2db4dd42cf
20
methods.py
20
methods.py
@ -1367,7 +1367,7 @@ def generate_vs_project(env, original_args, project_name="godot"):
|
||||
vsconf = f'{target}|{a["platform"]}'
|
||||
break
|
||||
|
||||
condition = "'$(Configuration)|$(Platform)'=='" + vsconf + "'"
|
||||
condition = "'$(GodotConfiguration)|$(GodotPlatform)'=='" + vsconf + "'"
|
||||
properties.append("<ActiveProjectItemList>;" + ";".join(activeItems) + ";</ActiveProjectItemList>")
|
||||
output = f'bin\\godot{env["PROGSUFFIX"]}'
|
||||
|
||||
@ -1482,6 +1482,13 @@ def generate_vs_project(env, original_args, project_name="godot"):
|
||||
"</ProjectConfiguration>",
|
||||
]
|
||||
|
||||
properties += [
|
||||
f"<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='{godot_target}|{proj_plat}'\">",
|
||||
f" <GodotConfiguration>{godot_target}</GodotConfiguration>",
|
||||
f" <GodotPlatform>{proj_plat}</GodotPlatform>",
|
||||
"</PropertyGroup>",
|
||||
]
|
||||
|
||||
if godot_platform != "windows":
|
||||
configurations += [
|
||||
f'<ProjectConfiguration Include="editor|{proj_plat}">',
|
||||
@ -1490,6 +1497,13 @@ def generate_vs_project(env, original_args, project_name="godot"):
|
||||
"</ProjectConfiguration>",
|
||||
]
|
||||
|
||||
properties += [
|
||||
f"<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='editor|{proj_plat}'\">",
|
||||
f" <GodotConfiguration>editor</GodotConfiguration>",
|
||||
f" <GodotPlatform>{proj_plat}</GodotPlatform>",
|
||||
"</PropertyGroup>",
|
||||
]
|
||||
|
||||
p = f"{project_name}.{godot_platform}.{godot_target}.{godot_arch}.generated.props"
|
||||
imports += [
|
||||
f'<Import Project="$(MSBuildProjectDirectory)\\{p}" Condition="Exists(\'$(MSBuildProjectDirectory)\\{p}\')"/>'
|
||||
@ -1502,6 +1516,10 @@ def generate_vs_project(env, original_args, project_name="godot"):
|
||||
f"{{{proj_uuid}}}.{godot_target}|{sln_plat}.Build.0 = {godot_target}|{proj_plat}",
|
||||
]
|
||||
|
||||
# Add an extra import for a local user props file at the end, so users can add more overrides.
|
||||
imports += [
|
||||
f'<Import Project="$(MSBuildProjectDirectory)\\{project_name}.vs.user.props" Condition="Exists(\'$(MSBuildProjectDirectory)\\{project_name}.vs.user.props\')"/>'
|
||||
]
|
||||
section1 = sorted(section1)
|
||||
section2 = sorted(section2)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='%%VSCONF%%'">
|
||||
<PropertyGroup Condition="'$(GodotConfiguration)|$(GodotPlatform)'=='%%VSCONF%%'">
|
||||
<NMakeBuildCommandLine>%%BUILD%%</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>%%REBUILD%%</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>%%CLEAN%%</NMakeCleanCommandLine>
|
||||
|
@ -9,23 +9,21 @@
|
||||
<Keyword>MakeFileProj</Keyword>
|
||||
<VCProjectUpgraderObjectName>NoUpgrade</VCProjectUpgraderObjectName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
%%PROPERTIES%%
|
||||
</PropertyGroup>
|
||||
%%PROPERTIES%%
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<OutDir>$(SolutionDir)\bin\$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
<OutDir>$(SolutionDir)\bin\$(GodotPlatform)\$(GodotConfiguration)\</OutDir>
|
||||
<IntDir>obj\$(GodotPlatform)\$(GodotConfiguration)\</IntDir>
|
||||
<LayoutDir>$(OutDir)\Layout</LayoutDir>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(GodotPlatform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(GodotPlatform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
|
Loading…
Reference in New Issue
Block a user