riperiperi / FreeSO

Re-implementation of The Sims Online.
http://freeso.org
Mozilla Public License 2.0
817 stars 95 forks source link

Build FreeSO with Mono under Linux #168

Open fHachenberg opened 4 years ago

fHachenberg commented 4 years ago

Hi there, thanks for your awesome work on FreeSO!

I am trying to build under Linux using Mono msbuild. Apart from the minor naming issues already fixed in #166 & #167 , I still have some issue left.

Where can I find the following files? They don't seem to be present in mainline MonoGame either

/FreeSO/TSOClient/FreeSO.sln.metaproj : error MSB3202: The project file "/FreeSO/TSOClient/../Other/libs/FSOMonoGame/MonoGame.Framework/MonoGame.Framework.WindowsGL.csproj" was not found. [/FreeSO/TSOClient/FreeSO.sln]
/FreeSO/TSOClient/FreeSO.sln.metaproj : error MSB3202: The project file "/FreeSO/TSOClient/../Other/libs/FSOMonoGame/MonoGame.Framework/MonoGame.Framework.Windows.csproj" was not found. [/FreeSO/TSOClient/FreeSO.sln]
/FreeSO/TSOClient/FreeSO.sln.metaproj : error MSB3202: The project file "/FreeSO/TSOClient/../Other/libs/FSOMonoGame/MonoGame.Framework/MonoGame.Framework.Linux.csproj" was not found. [/FreeSO/TSOClient/FreeSO.sln]
/FreeSO/TSOClient/FreeSO.sln.metaproj : error MSB3202: The project file "/FreeSO/TSOClient/../Other/libs/FSOMonoGame/MonoGame.Framework/MonoGame.Framework.Net.WindowsGL.csproj" was not found. [/FreeSO/TSOClient/FreeSO.sln]
/FreeSO/TSOClient/FreeSO.sln.metaproj : error MSB3202: The project file "/FreeSO/TSOClient/../Other/libs/FSOMonoGame/ThirdParty/Lidgren.Network/Lidgren.Network.WindowsGL.csproj" was not found. [/FreeSO/TSOClient/FreeSO.sln]
/FreeSO/TSOClient/FreeSO.sln.metaproj : error MSB3202: The project file "/FreeSO/TSOClient/../Other/libs/FSOMonoGame/MonoGame.Framework.Content.Pipeline/MonoGame.Framework.Content.Pipeline.Windows.csproj" was not found. [/FreeSO/TSOClient/FreeSO.sln]
riperiperi commented 4 years ago

To build the Monogame libraries, you must update --recursive --init submodules and run Protobuild.exe. On linux, use mono Protobuild.exe. They're planning to switch off this system soon, but right now we're stuck with this.

fHachenberg commented 4 years ago

Great, this brought me a step forward. :+1: I had to call it twice to generate all files required

mono Protobuild.exe --generate Linux
mono Protobuild.exe --generate Windows
fHachenberg commented 4 years ago

I now get prompted the following errors

"/FreeSO/TSOClient/FreeSO.sln" (Build target) (1) ->
"/FreeSO/TSOClient/FSO.iOS/FSOiOS.csproj" (default target) (43) ->
  /FreeSO/TSOClient/FSO.iOS/FSOiOS.csproj(315,3): error MSB4019: The imported project "/usr/lib/mono/xbuild/Xamarin/iOS/Xamarin.iOS.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

"/FreeSO/TSOClient/FreeSO.sln" (Build target) (1) ->
"/FreeSO/TSOClient/FSODroid/FSODroid.csproj" (default target) (44) ->
  /FreeSO/TSOClient/FSODroid/FSODroid.csproj(270,3): error MSB4019: The imported project "/usr/lib/mono/xbuild/Novell/Novell.MonoDroid.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

Since I don't want to build for iOS nor Android ... how can I disable those dependencies?

riperiperi commented 4 years ago

These errors can be ignored. Build targets are FSO.Windows, FSO.IDE, FSO.Server.Core, all AnyCpu.