News for hackers. Stuff that matters.
Re:Ray Tracing in pure CMake by flohofwoe on Saturday January 09, 2021 @12:58PM (#25702632)
I've never seen an autotools- or make-based project which builds out of the box on Windows in cmd.exe. Telling people to install cygwin just to build a project simply isn't viable when the default compiler toolchain on Windows is Visual Studio. Also it's not about building projects alone, cmake is also a project file generator for IDEs (in my case that was the actual reason why I switched to cmake from my own project file generator for Visual Studio and Xcode).
Re:Ray Tracing in pure CMake by knorker on Saturday January 09, 2021 @03:46PM (#25704552)
Interesting. Why do they fail with autotools?
Re:Ray Tracing in pure CMake by rleigh on Sunday January 10, 2021 @06:58AM (#25713826)
Autoconf requires GNU m4 at build time and POSIX sh at runtime. It also requires all the standard UNIX command-line tools you would run from the shell. Automake requires Perl at build time and Make (preferably GNU Make) at build time.

A stock Windows system doesn't have these tools. Cygwin and MinGW/MSYS provide these, but you're using stuff which is non-standard for the platform and which if you need to integrate with other libraries and tools, end up being incompatible.

If you want to use MSVC, the Autoconf/Automake support is poor. Generating output other than Makefiles is possible, but limited and quite the undertaking.

CMake supports all these other use cases out of the box. Which is why it gets used. It works on every platform, and with every compiler, build system and IDE of note.

Re:Ray Tracing in pure CMake by flohofwoe on Saturday January 09, 2021 @04:35PM (#25705020)
I don't know, I guess each project fails in a different way (my experience was mostly with libcurl before it came with cmake support), but IME projects which come with a Makefile or use autoconf don't care about non-UNIX-y operating systems, while (again: IME) a CMakeLists.txt file is often a sign that the project will also build on Windows with MSVC.