On 24.09.2024 18:42, Timothy Schoen wrote:
Hi!
The reason for cmake is that ELSE depends on various other libraries
that use cmake build systems, like sfizz, opus, and a few more. There
are also a few objects that have complicated build systems, like
[play.file~],
[circuit~], [sfont~], [sfz~], [pdlink~], and a few more. Dealing with
complicated sub-buildsystems with makefiles is not as easy as it is
with cmake.
Totally makes sense! pd-lib-builder is cool for simple externals, but it
breaks down for more complex projects. I use CMake myself for some of my
externals for various reasons.
That being said, I'd argue that most of the subprojects in [else] should
really be dedicated externals, but somehow Alex seems to be a fan of
huge monorepos :)
Christof
On top of that, Pierre Guillot's pd.build system for cmake is
fantastic. It just generates a normal cmake target, so you can use
regular cmake syntax to manipulate it. IMO, that makes it a lot easier
to work with than pd-lib-builder for complex build systems.
The main goal was that you can compile the entirety of ELSE using a
single build command. Before we changed to cmake, that was not
working. This change also drastically simplified our CI, and allows
for CI build caching.
It probably could have been done with pd-lib-builder too, but the
resulting build system would have been more difficult to maintain than
the cmake equivalent. And since porres mostly lets me fix the build
system when things break, it made sense to use something that I'm more
comfortable with. He only asked for help here because I was taking a
small break, but I'm back now and have helped him finish the release.
So, lots of reasons, hope it makes sense!
Tim
On 24/09/2024 05:43, IOhannes m zmölnig wrote:
Am 24. September 2024 03:03:30 MESZ schrieb Alexandre
<por...@gmail.com>:
Hi, I'm releasing an update of ELSE but I now have a whole new build
system
with cmake,
[...]
And I need help compiling it for Linux and Windows.
I wonder what features you need from your build system that cannot be
satisfied by pd-lib-builder.
ELSE is being built for different Pd backends (vanilla, plug
data,...) and I figure that was part of the motivation (and my gut
feeling tries to tell me, that there's also a "'make' is from the
past century, everybody uses 'cmake'" by whoever wrote the new build
system, but that is mere conjecture).
In any case I would be interested in the motivation for switching a
relatively simple library like ELSE.
(I can think of one good reason, but free people seem to need it)
By the way, building for double precision Pd is now possible
As a packager I found it super simple to add double precision builds
to dozens of pd-lib-builder based externals without needing to touch
their build system at all.
So why was that complicated/impossible for ELSE?
mfg.sfg.jfd
IOhannes
---
pd-list@lists.iem.at - the Pure Data mailinglist
https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/DPGKSG7S3MFEEO73URHQGJBI5DU3RTQ2/
To unsubscribe send an email to pd-list-le...@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.iem.at/
---
pd-list@lists.iem.at - the Pure Data mailinglist
https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/HEWMJ4VWLZKUA5GK6O5DMCW3PTCC4SLK/
To unsubscribe send an email to pd-list-le...@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.iem.at/
---
pd-list@lists.iem.at - the Pure Data mailinglist
https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/6ASRLZC5KGABXJGWDSQ3QYQHWMY2HJMC/
To unsubscribe send an email to pd-list-le...@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.iem.at/