mirror of
https://github.com/Redot-Engine/redot-engine.git
synced 2025-12-06 07:17:42 -05:00
Fix .sln project generation logic for Rider to support all OS and all C++ toolchains
Co-authored-by: Andreia Gaita <shana@spoiledcat.net> Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
This commit is contained in:
19
misc/msvs/nmake.substitution.props
Normal file
19
misc/msvs/nmake.substitution.props
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<!-- override the PlatformToolset, which is set in the godot.vcxproj-->
|
||||
<!-- Unknown matches to a set of conservative rules for the code analysis-->
|
||||
<PlatformToolset>Unknown</PlatformToolset>
|
||||
<LocalDebuggerCommand Condition="'$(LocalDebuggerCommand)' == ''">$(NMakeOutput)</LocalDebuggerCommand>
|
||||
</PropertyGroup>
|
||||
<!-- Build/Rebuild/Clean targets for NMake are defined in MSVC, so we need to provide them, when using MSBuild without MSVC targets -->
|
||||
<Target Name="Build">
|
||||
<Exec Command="$(NMakeBuildCommandLine)"/>
|
||||
</Target>
|
||||
<Target Name="Rebuild">
|
||||
<Exec Command="$(NMakeReBuildCommandLine)"/>
|
||||
</Target>
|
||||
<Target Name="Clean">
|
||||
<Exec Command="$(NMakeCleanCommandLine)"/>
|
||||
</Target>
|
||||
</Project>
|
||||
@@ -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="'$(GodotConfiguration)|$(GodotPlatform)'=='%%VSCONF%%'">
|
||||
<PropertyGroup Condition="%%CONDITION%%">
|
||||
<NMakeBuildCommandLine>%%BUILD%%</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>%%REBUILD%%</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>%%CLEAN%%</NMakeCleanCommandLine>
|
||||
@@ -18,6 +18,9 @@
|
||||
<ItemGroup Condition="%%CONDITION%%">
|
||||
%%EXTRA_ITEMS%%
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Build/Rebuild/Clean targets for NMake are defined in MSVC, so we need to provide them, when using MSBuild without MSVC targets -->
|
||||
<Import Project="$(MSBuildProjectDirectory)\misc\msvs\nmake.substitution.props" Condition="%%CONDITION%% And !Exists('$(VCTargetsPath)\Microsoft.Cpp.targets')" />
|
||||
</Project>
|
||||
<!-- CHECKSUM
|
||||
%%HASH%%
|
||||
|
||||
@@ -10,31 +10,32 @@
|
||||
<VCProjectUpgraderObjectName>NoUpgrade</VCProjectUpgraderObjectName>
|
||||
</PropertyGroup>
|
||||
%%PROPERTIES%%
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" Condition="Exists('$(VCTargetsPath)\Microsoft.Cpp.Default.props') "/>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<PlatformToolset>v143</PlatformToolset> <!--Might be overridden in the platform specific import or Microsoft.Cpp.$(GodotPlatform).user.props -->
|
||||
<DefaultPlatformToolset Condition="'$(DefaultPlatformToolset)'==''"/> <!--Workaround until https://youtrack.jetbrains.com/issue/RIDER-123783 is resolved. -->
|
||||
<OutDir>$(SolutionDir)\bin\$(GodotPlatform)\$(GodotConfiguration)\</OutDir>
|
||||
<IntDir>obj\$(GodotPlatform)\$(GodotConfiguration)\</IntDir>
|
||||
<LayoutDir>$(OutDir)\Layout</LayoutDir>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" Condition="Exists('$(VCTargetsPath)\Microsoft.Cpp.props') "/>
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(GodotPlatform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(GodotPlatform).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" />
|
||||
%%IMPORTS%%
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<ActiveProjectItemList></ActiveProjectItemList>
|
||||
</PropertyGroup>
|
||||
%%IMPORTS%%
|
||||
<ItemGroup Condition="'$(IncludeListImported)'==''">
|
||||
%%DEFAULT_ITEMS%%
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" Condition="Exists('$(VCTargetsPath)\Microsoft.Cpp.targets') "/>
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
|
||||
Reference in New Issue
Block a user