CnC_Remastered_Collection icon indicating copy to clipboard operation
CnC_Remastered_Collection copied to clipboard

macOS compilation

Open tsilcher opened this issue 4 years ago • 8 comments

I was wondering if anyone has been trying to get this compiled as a shared library for macOS (.dylib). I have played around a bit but its an infernal loop of missing dependencies or declarations which are windows specific. Did anyone get any further? Was wondering if we get this compiled maybe EA pr someone else might be interested in picking this up later on.

Thanks.

p.s.: Please keep any unproductive "windows vs mac" discussions out of here.

tsilcher avatar Jun 08 '20 03:06 tsilcher

Have a look here: https://github.com/electronicarts/CnC_Remastered_Collection/issues/31 I could try to get/keep my code compiling on macOS as well; this only makes sense if we have a macOS CI to validate.

abergmeier avatar Jun 08 '20 05:06 abergmeier

I can help testing the code on mac.

connorhu avatar Jun 08 '20 05:06 connorhu

@abergmeier Thanks a lot for your input. Having a common Makefile for Linux & Unix (macOS) sounds great. About the CI, I am not sure if you are referring to automated tests but we can always manually test this in order to assure it works on the latest macOS versions.

tsilcher avatar Jun 08 '20 08:06 tsilcher

Having a common Makefile for Linux & Unix (macOS) sounds great.

Currently I use CMake, which should even enable native XCode projects.

About the CI, I am not sure if you are referring to automated tests

For now automated tests would be that it at least compiles on macOS ;)

abergmeier avatar Jun 08 '20 08:06 abergmeier

What are you expecting to achieve behind this? To compile and execute on macOS? You can't without modifying the source code and remove win32 dependencies.

trulyspinach avatar Jun 09 '20 01:06 trulyspinach

What are you expecting to achieve behind this?

I think there are a lot of different goals for different people. See below for me.

To compile and execute on macOS?

For me to compile and link on macOS.

You can't without modifying the source code

Yes. That is what we need to do.

and remove win32 dependencies.

Since most of the non-basic Windows APIs are in WIN32LIB we need to create something along MACOSLIB. For the rest making headers for Windows compat is not that hard.

All work that is currently going on in https://github.com/abergmeier/CnC_Remastered_Multiplatform

abergmeier avatar Jun 09 '20 07:06 abergmeier

missing a memory.h header file. Unable to compile.

ccg301 avatar Jun 09 '20 14:06 ccg301

As an alternative fork working on standalone classic builds might I offer https://github.com/hifi/Vanilla-Conquer. Myself and a few other people already did some of the heavy lifting needed for this as part of the https://github.com/TheAssemblyArmada/Chronoshift project which is been rendered a bit moot by this source drop.

OmniBlade avatar Jun 09 '20 22:06 OmniBlade