RFC: A transition to cmake as a build / configure system #50194
Replies: 2 comments 4 replies
-
While I sympathize with this, we tried going down the CMake route before and it didn't really work out.
I don't really see a benefit here. LLVM cmake can be really complicated and requires significant expertise to work with (at least in my experience...) Now if you had said meson, I at least would be a bit more exited. |
Beta Was this translation helpful? Give feedback.
-
What went wrong with CMake? And what is "LLVM cmake"? I've used CMake with gcc as well as with clang. Are you trying to run CMake from the Makefile? That's not how it works. You run |
Beta Was this translation helpful? Give feedback.
-
I know this is going to be a contentious issue, but after spending a decent amount of time digging into the weeds here I felt needed to brought up. I like make as much as the next guy, but with the number of dependencies that the Julia project has I feel as if it becomes difficult to integrate into larger systems. Especially in that julia is supposed to be cross platform, it was surprising to find that it builds with GNU make.
cmake, while I think everyone can agree is not ideal, fulfills the job of a cross-platform build system and has larger community buy-in at this point. It also provides simpler methodology for integration with either conan or vcpkg, or general patching by the end-user, who needs to say, not use a system lib but instead use zlib-ng rather than standard zlib where that's meant to be a drop-in replacement.
Added benefits also include tighter integration and parity with llvm's build system (as well as that of other dependencies), where make doesn't really have form of inspection / communication between projects, even on itself. Also of course, ability to use ninja generators, which is purported to be faster than make (of course, seeing an effect here depends on the project, but on larger ones I've used in the past I've legitimately seen improvements on the scale of 2-5 minutes (though, with Julia, I doubt improvements will be that significant).
Beta Was this translation helpful? Give feedback.
All reactions