Skip to content
This repository has been archived by the owner on Oct 12, 2022. It is now read-only.

Consider moving build to CMake #76

Open
brettcannon opened this issue Nov 5, 2015 · 12 comments
Open

Consider moving build to CMake #76

brettcannon opened this issue Nov 5, 2015 · 12 comments
Labels

Comments

@brettcannon
Copy link
Member

Already need it for RyuJIT anyway, plus it would make us cross-platform for building (whether our C++ code is cross-platform is another question :) .

@kika123
Copy link

kika123 commented Dec 26, 2015

please no. It badly breaks builds for Windows on ARM

@brettcannon
Copy link
Member Author

As pointed out in the opening comment, CMake is a requirement for the .NET JIT so it can't be avoided. Hence sticking with manual VS build files and an eventual Makefile doesn't get us away from needing to use CMake.

@brettcannon
Copy link
Member Author

Once our changes land upstream in CPython then CMake may be useful for having a single build target in the top directory that used CoreCLR's CMake rules so that it was CMake all the way down (and we currently need to build CoreCLR as we statically link it into Pyjion).

@kika123
Copy link

kika123 commented Jun 28, 2016

CoreCLR is built with Razzle for builds that ship with Windows and the official CoreCLR .NET Core RC2 builds, not a single bit of CMake.

@brettcannon
Copy link
Member Author

@kika123 : that might be true for WIndows, but that doesn't cover Linux or OS X. And obviously those build files are generated using CMake: https://github.com/dotnet/coreclr/blob/master/CMakeLists.txt . I realize you don't want CMake used for your Windows on ARM use-case, but unless you're willing to develop and maintain a build setup that works on Windows, OS X, and Linux for Pyjion, going with the build solution that our biggest (and as of Python 3.6, hopefully only) dependency just makes sense for simplifying our lives in keeping this project going in our spare work time.

@kika123
Copy link

kika123 commented Jun 29, 2016

@brettcannon actually, my issue to get Windows on ARM with CMake .NET Core compiles got rejected and closed without justification

@stuaxo
Copy link

stuaxo commented Feb 20, 2017

It might be worth considering meson.

It's a newer cross platform build system that uses and builds on some of the ideas in CMake.
Gstreamer are switching to it. At the very least, I can confirm that it seems to build that project a lot more quickly than their old automake based solution.

@brettcannon
Copy link
Member Author

I believe @stuaxo is talking about https://github.com/mesonbuild/meson.

@stuaxo
Copy link

stuaxo commented Feb 24, 2017

Here's some info. ...
http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html

[EDIT]

More detail
http://gstreamer-devel.966125.n4.nabble.com/Experimental-build-using-the-Meson-build-system-td4679385.html
[/EDIT]

But I have no horse in this race and cmake is probably used more widely :) @

@emmatyping
Copy link
Contributor

I have some experience with CMake and would be happy to start working on this, if it has been settled. I am very much in favor of choosing CMake, as it is very common and more people know it than other cross platform meta-build systems.

@brettcannon
Copy link
Member Author

@ethanhs if you feel up for doing this, then please do!

@tonybaloney
Copy link
Contributor

Implemented in #237 :-)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

6 participants