Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Current Stride.Native.targets file prevents from using modern NET MSBuild #2278

Open
Jklawreszuk opened this issue May 25, 2024 · 0 comments
Labels
area-Build enhancement New feature or request

Comments

@Jklawreszuk
Copy link
Collaborator

Jklawreszuk commented May 25, 2024

Is your feature request related to a problem? Please describe.

Problem: Currently you can't build an engine using modern MSBuild, because C++/CLI is not supported here. Also Visual C++ is only available on Windows.

# not possible
dotnet build / dotnet msbuild Stride.sln
# instead we use .NET Framework msbuild
msbuild Stride.sln

Cause: When you take a look at Stride.Native.targets file is using WindowsDesktop.vcxproj project contains ONLY EMPTY dllmain file which is included to dedicated native library (e.g. for libstrideaudio.dll, libstridenavigation.dll etc)

Solution

Lines from 131 to 134 in Stride.Native.targets file can be modified to use clang or cmake tool. If implemented correctly that could allow to crosscompile on Linux (in the far future ofc, when Linux platform will be good enough supported) which is usefull for cheaper to execute CI/CD pipelines.

Solution benefits

  • No need to install legacy .NET Framework msbuild - you could build an engine using dotnet CLI simply using dotnet build
  • Reduction of complexity
  • Possibility to use more lightweight editors like VSCode for Stride source debugging
@Jklawreszuk Jklawreszuk added the enhancement New feature or request label May 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-Build enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants