Stream: brlcad

Topic: CMake


view this post on Zulip Sean (Sep 10 2020 at 20:54):

https://internalpointers.com/post/modern-cmake-beginner-introduction

view this post on Zulip starseeker (Sep 10 2020 at 22:04):

nice!

view this post on Zulip Daniel Rossberg (Oct 23 2020 at 14:19):

FYI, requiring version 3.14 or higher excludes Debian stable (buster) with version 3.13.4 from the build.

view this post on Zulip starseeker (Oct 23 2020 at 17:16):

@Daniel Rossberg I know - unfortunately, that's the version where install(CODE) learned to support generator expressions.

view this post on Zulip starseeker (Oct 23 2020 at 17:18):

I can try to work around it, but it'll be a bit awkward. Do we have someone maintaining packages on Debian Stable?

view this post on Zulip Sean (Oct 23 2020 at 17:33):

I also got a report yesterday that our build fails on latest stable CentOS because of CMake 3.14 (I think they're on 2.8...)

view this post on Zulip starseeker (Oct 23 2020 at 17:34):

The lowest I can go is 3.12

view this post on Zulip Sean (Oct 23 2020 at 17:34):

Perhaps it's time to bootstrap CMake

view this post on Zulip starseeker (Oct 23 2020 at 17:34):

I think the newer CMakes are warning about 2.8 series becoming unsupported, actually...

view this post on Zulip Sean (Oct 23 2020 at 17:34):

I wouldn't expect us to go back that far, I think that was 4 years ago. If the distros aren't keeping up, we probably should for users.

view this post on Zulip starseeker (Oct 23 2020 at 17:35):

3.12 I think we can do, and that should cover most bases - in the past I'd used Debian Stable as the "conservative" benchmark.

view this post on Zulip starseeker (Oct 23 2020 at 17:35):

Shows how old school I am, I guess - CentOS seems to have taken the crown now for "has the oldest stuff..."

view this post on Zulip Sean (Oct 23 2020 at 17:36):

well, I think that was a stable line

view this post on Zulip Sean (Oct 23 2020 at 17:36):

there probably was a different line for "up to date"

view this post on Zulip Sean (Oct 23 2020 at 17:36):

I don't know centos that well

view this post on Zulip starseeker (Oct 23 2020 at 17:36):

Basically Redhat Enterprise without the branding, IIRC...

view this post on Zulip Sean (Oct 23 2020 at 17:36):

but for this user (former dev, phil dykstra), it was a show stopper

view this post on Zulip Sean (Oct 23 2020 at 17:37):

he resorted to compiling in a vm running debian

view this post on Zulip starseeker (Oct 23 2020 at 17:38):

Centos is also the one that's crazy conservative with installed GCC versions - they're why we have to test for some working C++11 features, IIRC.

view this post on Zulip Sean (Oct 23 2020 at 17:38):

he's working on testing an AWS cluster using RT in Docker containers

view this post on Zulip starseeker (Oct 23 2020 at 17:39):

Ah - they're providing CentOS images?

view this post on Zulip Sean (Oct 23 2020 at 17:39):

I don't know for certain, but upgrade options may be constrained by other criteria. or he maybe just values stable and doesn't want to fuss with anything until everyone else has :)

view this post on Zulip starseeker (Oct 23 2020 at 17:40):

2.8 CMake is getting beyond "stable" into "obsolete" these days.

view this post on Zulip Sean (Oct 23 2020 at 17:40):

he ran into the transparent window bug too once he got it all working, so hoping he just pulled the wrong source release

view this post on Zulip starseeker (Oct 23 2020 at 17:40):

O.o

view this post on Zulip starseeker (Oct 23 2020 at 17:41):

OK, I think I've gotten the work-around in place for 3.12 - multiconfig will be the real test, but just passed in a basic install

view this post on Zulip Sean (Oct 23 2020 at 17:41):

hopefully not some issue with an X app running from a linux container displaying on another X host not running that linux

view this post on Zulip starseeker (Oct 23 2020 at 18:12):

@Sean In case it's helpful: https://stackoverflow.com/questions/48831131/cmake-on-linux-centos-7-how-to-force-the-system-to-use-cmake3

view this post on Zulip Sean (Oct 23 2020 at 18:17):

yep, that's helpful. thanks.

view this post on Zulip Sean (Oct 23 2020 at 18:43):

@starseeker he's getting the transparency error on 7.32.0 source release and on STABLE checkout ... :(

view this post on Zulip starseeker (Oct 23 2020 at 19:01):

grr...

view this post on Zulip starseeker (Oct 23 2020 at 19:05):

with the rt window?

view this post on Zulip starseeker (Oct 23 2020 at 20:32):

Oh, blast it. The hack we're doing for matching the CMAKE_INSTALL_PREFIX to our build config doesn't scale properly to multiconfig.

view this post on Zulip Sean (Oct 23 2020 at 20:41):

yes, with the rt window (actually a png-fb window)

view this post on Zulip Sean (Oct 23 2020 at 20:41):

he also got "archer tclcad init failure"

view this post on Zulip Sean (Oct 23 2020 at 20:41):

:(

view this post on Zulip starseeker (Oct 23 2020 at 20:48):

Can he try trunk? The latter may be fixed there.

view this post on Zulip starseeker (Oct 23 2020 at 20:49):

Might also be informative to see if the glfw demo apps have the transparency problem

view this post on Zulip Daniel Rossberg (Oct 24 2020 at 13:47):

Thanks, it works again. The point is that all of my Linux machines run with Debian stable, and not being able to compile BRL-CAD there would be suboptimal.

view this post on Zulip starseeker (Oct 24 2020 at 14:03):

@Daniel Rossberg it's good to know we have an active use case for Debian stable. 3.12 should work for now - hopefully by the time we need to go newer than that Debian stable will also be updated. I see the newer Debians are on 3.18, so presumably that'll become the next stable eventually.

view this post on Zulip Daniel Rossberg (Oct 24 2020 at 14:19):

The first freeze for Debian 11 (bullseye) is planned for mid January. I.e., the release will likely be mid of the year.

view this post on Zulip starseeker (Oct 24 2020 at 14:22):

/me nods. No rush - just want to be sure that when we (eventually) can bump the minimum version the logic gets cleaned up. Been doing some of that as I go through the 3rd party logic refactor, clearing out older workaround we no longer needed.

view this post on Zulip starseeker (Sep 01 2022 at 13:03):

@Daniel Rossberg Was wondering, what is a good "minimally required" version of CMake for you these days?

view this post on Zulip Daniel Rossberg (Sep 01 2022 at 16:27):

My debian bullseye has version 3.18.4. I.e., it should not be higher than this one.

view this post on Zulip Erik (Sep 24 2022 at 23:23):

cmake already fails for me with 3.17, works with 3.24. check_linker_flag seems to be unknown misc/tools/env2c/CMakeLists.txt:62 .

view this post on Zulip starseeker (Sep 24 2022 at 23:58):

<nod> - good call @Erik, introduced in 3.18: https://cmake.org/cmake/help/latest/module/CheckLinkerFlag.html

view this post on Zulip starseeker (Sep 24 2022 at 23:58):

@Sean what do you think, bump minimum version or rework?

view this post on Zulip starseeker (Sep 25 2022 at 00:23):

My inclination is to go to 3.18.4 per Daniel's debian bullseye...

view this post on Zulip Sean (Sep 25 2022 at 00:24):

Mm good question @starseeker that was just 2 years ago but I think it’s probably fine unless you know a problematic platform. Homebrew and Debian appear to have 3.23 and 3.24. Looks like FreeBSD 11 is 3.20+. Looks safe to bump to me.

view this post on Zulip starseeker (Sep 25 2022 at 00:28):

@Erik is moving to 3.18 a problem on your platform?

view this post on Zulip Sean (Sep 25 2022 at 00:28):

Fedora 35 is cmake 3.22

view this post on Zulip Erik (Sep 25 2022 at 00:28):

nope, my machine with the oldest system cmake is 3.18

view this post on Zulip starseeker (Sep 25 2022 at 00:29):

Redhat might be an issue...

view this post on Zulip starseeker (Sep 25 2022 at 00:29):

Assuming they've moved off of 2.8.x anyway...

view this post on Zulip Erik (Sep 25 2022 at 00:31):

rhel86 is 3.20

view this post on Zulip starseeker (Sep 25 2022 at 00:33):

OK, I think that's a winner then. There are some conditionalized bits of CMake logic waiting on a minimum version bump, so that'll let us clean those up too.

view this post on Zulip starseeker (Sep 25 2022 at 00:33):

That's a good excuse to procrastinate the next dive into multiple-view object management - phew!

view this post on Zulip starseeker (Sep 25 2022 at 01:15):

woo hoo! just barely, but that was enough to get us the cmake_language(EVAL) feature

view this post on Zulip starseeker (Jul 14 2023 at 17:17):

Welp, I'm convinced... I still don't know much about CMake: https://izzys.casa/2023/06/everything-you-never-wanted-to-know-about-cmake-redux/

view this post on Zulip starseeker (Jul 24 2023 at 15:49):

@Sean Thought you might find this interesting if you're not already aware: https://devblogs.microsoft.com/cppblog/cmake-debugger-allows-you-to-debug-your-cmake-scripts-and-more/

view this post on Zulip Sean (Jul 25 2023 at 22:44):

I haven't played with it, but I did see that when it came out.


Last updated: Oct 09 2024 at 00:44 UTC