-
Notifications
You must be signed in to change notification settings - Fork 130
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
update cmake to 3.13.2 #620
base: master
Are you sure you want to change the base?
Conversation
We've upgraded to 3.9.6 (the last version to build with the system compilers). I'll see if I can get this working with newer compilers. |
It'd be cool to get a more modern CMake. PS: I'm here because a user on the DevilutionX discord has asked for help compiling it for PPC macOS 10.4. Then I found this repo via Google. |
There's no reason why we couldn't have a another formula for a more recent version of cmake. |
If that formula were installable with something as simple as Anyone willing to install this on a PPC mac can probably wait 24 hours. For science. |
@AJenbo even has a PPC mac so if this works maybe we could even provide a PPC mac release of DevilutionX |
I guess we could ensure the dependency on GCC gets properly specified as a runtime dep, then make sure both the compiler and cmake get binary builds on as many OSs as possible... that way people are just spending disk space, not hours/days of compiling time. Sevan, have you checked if GCC 5/7 is the minimum required version? |
I personally don't have a lot of time (though there will be a blank space in the next two weeks), but the 700Mhz G4 iMac is just sitting there so if you can make it easy for me I'm happy to turn it on and let it process things for a few days. |
From memory, initial C++11 support in later releases of 4.x but you need at least 5. Will give it a try tomorrow and report back. |
GCC 4.8 I think has decent support |
cmake has a bootstrap stage where the I got quite far into the bootstrap stage of the very latest release of cmake (v3.31.0) on Tiger with GCC 5 but hit issues with |
Mean while I got stuck here with this PR:
|
Same place for me. :) |
|
This happens even if i roll back to libuv 1.1.0 and since it looks to be an issue with the CoreServices.framework ( |
I've not tested the patch proposed in this pull request but they proposed
Worth a shot, just to bodge it forward (I didn't have to make such a change on my build attempt with v3.13.5) |
@sevan adding this at line 148 fixes the issue:
|
If you manage to port to Tiger, is it worth adding autoconf support to your projec so that on such legacy systems you only need to show up with a modern compiler to move forward? not sure the benefits of modern cmake are realised on such systems with a legacy toolchain. :) |
It'd be extremely difficult to port and maintain our very complex CMake project to autoconf. |
understood. :) |
So I found this image: If it works, it'd probably be a lot faster to compile software in a VM? |
That's cheating and deters from sourcing a G5 based system of some form to build on. ;) j/k |
There's a draft pull request for a fairly recent version of libuv which builds on Tiger in #1202 should you need it. |
@sevan We can now build newer versions of DevilutionX, but it fails to link with the following error:
Is this something you are familiar with? |
Do you know what's specifying that flag? Tiger's |
30 hours of bisecting and it turns out to be because of |
Very cool :) |
Now that there's a recent version of libuv built, I can take a look at the latest release of CMake again over the weekend. |
The previously provided cmake 3.6.3 is over two years old now, so here's an upgrade.
The good news:
The bad news: