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@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