Proposal to get rid of all build systems except CMake
(too old to reply)
2018-12-10 10:53:23 UTC
Hello Etienne,
You make a compelling case.
./configure is easy to use but a pain to maintain.
One can simply open the CMake project in VS and it just builds out-of-the-box.
That is very compelling. I suspect that this page, which references
VS2005, is very out-of-date.
I imagine it would be much simpler if we simple told people to open
the CMake script.
Is installing CMake on Windows required? Is it difficult?
If you're using Visual Studio 2017, it's built-in. There is nothing to
install besides VS. Just open the directory as a project and build.
If you're using an older version, you will need to download and
install CMake, and then run a single command to generate a set of
project files for older versions of VS. Even latest versions of CMake
can generate project files for all versions of VS all the way back to
version 6 (which came out 20 years ago). You can then open these
project files in VS and build normally. (I'll admit I don't have such
old versions to test, but I don't see any reason why it wouldn't
Hi Phil,

In the last lot of CMake patches I pushed in, I updated the Doxygen
build pages to contain a brief primer on using CMake to build/install
portaudio. These changes appear to have been updated online now:
http://portaudio.com/docs/v19-doxydocs/compile_cmake.html if you wanted
a quick guide.

I use portaudio almost daily on Windows and OS X (and somewhat less
frequently on Linux) and use the CMake support exclusively on all
platforms. I'm of the opinion that removing the other build systems
would be a nice idea that well-suites me... but that's all I can really
add. I'd be really interested to hear the rationale of other developers
as to why we shouldn't do this.
Jan Stary
2018-12-10 06:41:24 UTC
./configure is easy to use but a pain to maintain.
It depends.

A ./configure produced by the GNU autotools can be
both a pain to use and an extreme pain to maintain.

A simple, hand-written ./configure script can be
very simple to use and very easy to maintain.
Please have a look at the ./configure of