[CLN-list] Fw: Re: CMakeLists.txt: Improving GiNaC/CLN (& ease of) integration?

Xunie xunie at protonmail.com
Tue Dec 29 09:51:49 CET 2020


Hey Bruno,

(Sorry you got this e-mail twice, I sent the first one to you directly instead of the mailing list!)

On Monday, December 28, 2020 4:00 AM, Bruno Haible <bruno at clisp.org> wrote:
> It seems that using a CMake 'ExternalProject' would allow you to use CLN's
> configure-based build system from CMake [1]. No?
About 2 years ago, I tried to integrate GiNaC into the same project I am trying to integrate it into right now. I failed and gave up.

I've spent the last week wrestling with ExternalProject and looking at that exact same stackexchange answer trying to get it working this time. It was a highly frustrating experience. ExternalProject is and always will be a hack to incorporate non-CMake projects into CMake.

> It is usually a waste of time to maintain two build systems (for CLN, in this
> case) in parallel, when one is sufficient.
Maybe, maybe not.

GiNaC already has CMake support, why not CLN?

Considering the (apparent) complexity and vintage of CLN, I certainly think maintaining a modern CMake build is not wasted effort.
CMake has got to be the most popular C++ build system right now. I can't find any numbers on it, but seeing CMake-less projects is an exceptional rarity for me. But that's just my (n=1) experience.

In the interest of making GiNaC/CLN easier to use, full CMake build support will improve user-experience. That's just my two cents, though.

Personally I'm gonna build on Alexey's cmake branch, try to fix some CMP0002 warnings/errors I ran into and failing that, doing what he does and build CLN in-source inside GiNaC's source tree. It certainly beats wrangling autotools on my two platforms.


I am trying my best to make my project testable and this includes sanity-testing my dependencies. God knows how much time and effort I'd have to invest trying to FULLY integrate CLN's autotools tests/exams into my CMake build. THAT is wasted effort.

But hey, Alexey already did incorporate the tests it seems. :)
If he's been using CMake to build CLN for a decade now, I have to ask: why isn't it incorporated already?

All in all, a 2nd CMake build is not at all wasted effort if you ask me.

Kind Regards,
Xunie


More information about the CLN-list mailing list