mirror of
https://github.com/raylib-cs/raylib-cs
synced 2025-06-30 19:03:42 -04:00
72 lines
3.4 KiB
XML
72 lines
3.4 KiB
XML
<Project Sdk="Microsoft.NET.Sdk" InitialTargets="ConfigureNative">
|
|
<PropertyGroup>
|
|
<TargetFramework>netstandard2.1</TargetFramework>
|
|
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
|
<DebugType>none</DebugType>
|
|
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
|
<GenerateDependencyFile>False</GenerateDependencyFile>
|
|
</PropertyGroup>
|
|
|
|
<Import Project="../Raylib-cs/Build.props" />
|
|
|
|
<PropertyGroup Condition="$([MSBuild]::IsOSPlatform('Linux'))">
|
|
<NativeExt>so</NativeExt>
|
|
<NativePre>lib</NativePre>
|
|
<NativeArch>x64</NativeArch>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="$([MSBuild]::IsOSPlatform('OSX'))">
|
|
<NativeExt>dylib</NativeExt>
|
|
<NativePre>lib</NativePre>
|
|
<NativeArch Condition="$(BuildArch) == ''">x86_x64</NativeArch>
|
|
<NativeArch Condition="$(BuildArch) != ''">$(BuildArch)</NativeArch>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="$([MSBuild]::IsOSPlatform('Windows'))">
|
|
<NativeExt>dll</NativeExt>
|
|
<NativePre>$(Configuration)/</NativePre>
|
|
<NativeArch Condition="$(BuildArch) == ''">x64</NativeArch>
|
|
<NativeArch Condition="$(BuildArch) != ''">$(BuildArch)</NativeArch>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup Condition="$([MSBuild]::IsOSPlatform('OSX')) AND $(NativeArch) == 'arm64'">
|
|
<CMakeArgs Include="-D CMAKE_OSX_ARCHITECTURES=arm64" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="$([MSBuild]::IsOSPlatform('OSX')) AND $(NativeArch) == 'x86_64'">
|
|
<CMakeArgs Include="-D CMAKE_OSX_ARCHITECTURES=x86_64" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="$([MSBuild]::IsOsPlatform('Windows')) AND $(NativeArch) == 'win32'">
|
|
<CMakeArgs Include="-A win32" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="$([MSBuild]::IsOsPlatform('Windows')) AND $(NativeArch) == 'x64'">
|
|
<CMakeArgs Include="-A x64" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Content Include="$(OutputPath)native/raylib/$(NativePre)raylib.$(NativeExt)" Link="%(Filename)%(Extension)" CopyToOutputDirectory="PreserveNewest" Condition="Exists('$(OutputPath)native/raylib/$(NativePre)raylib.$(NativeExt)')" />
|
|
|
|
<CMakeArgs Include="-B $(OutputPath)native" />
|
|
<CMakeArgs Include="-S $(BaseIntermediateOutputPath)raylib-$(TargetRaylibTag)" />
|
|
<CMakeArgs Include="-D CMAKE_BUILD_TYPE=$(Configuration)" />
|
|
<CMakeArgs Include="-D BUILD_SHARED_LIBS=ON" />
|
|
<CMakeArgs Include="-D BUILD_EXAMPLES=OFF" />
|
|
<CMakeArgs Include="-D CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded" />
|
|
<CMakeArgs Include="-D CMAKE_MINIMUM_REQUIRED_VERSION=3.15" />
|
|
<CMakeArgs Include="-D CMAKE_POLICY_DEFAULT_CMP0091=NEW" />
|
|
<!-- <CMakeArgs Include="-D GLFW_BUILD_WAYLAND=ON" /> -->
|
|
<!-- <CMakeArgs Include="-D GRAPHICS=GRAPHICS_API_OPENGL_43" /> -->
|
|
</ItemGroup>
|
|
|
|
<Target Name="ConfigureNative" Condition="$(SkipLocalBuild) != true">
|
|
<DownloadFile SourceUrl="https://github.com/raysan5/raylib/archive/refs/tags/$(TargetRaylibTag).zip" DestinationFolder="$(BaseIntermediateOutputPath)" DestinationFileName="raylib.zip" Condition="!Exists('$(BaseIntermediateOutputPath)raylib.zip')" />
|
|
|
|
<Unzip SourceFiles="$(BaseIntermediateOutputPath)raylib.zip" DestinationFolder="$(BaseIntermediateOutputPath)" OverwriteReadOnlyFiles="true" Condition="!Exists('$(BaseIntermediateOutputPath)raylib-$(TargetRaylibTag)')" />
|
|
|
|
<Exec Command="cmake @(CMakeArgs, ' ') $(CMakeExtraArgs)" />
|
|
<Exec Command="cmake --build $(OutputPath)native --config $(Configuration)" />
|
|
</Target>
|
|
</Project>
|