Re: CMake 4
Roland Hughes via Foxgui-users <[email protected]> Tue, 30 Dec 2025 07:35:17 -0600
| Newsgroups | gmane.comp.lib.fox-toolkit.user |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--===============4718944333161459794==
Content-Type: multipart/alternative;
boundary="------------fhvuOAPbR0NsAL9l0FCAad0d"
Content-Language: en-US
This is a multi-part message in MIME format.
--------------fhvuOAPbR0NsAL9l0FCAad0d
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
On 12/30/2025 5:11 AM, Enno Rehling wrote:
>
> Someone mentioned vcpkg in this thread: While I'm usually in favor of
> using whatever OS package manager to install dependencies (apt, rpm,
> brew, or ports), in cases where there is none (Windows, either 32 or
> 64 bit), vcpkg does a good job. I've never used it outside of Windows,
> but apparently that should also work (unless, like me, you prefer the
> native package manager).
That was me.
My first exposure to it has been with creating a Windows installer for
LsCs, then LsScintilla, so I can have a Windows version of RedDiamond.
I am loathe to replace my existing shell scripts that use native tools
to build Debian and RPM packages. I have been burned too many times by
"tools" to generate packages and even ISO files. Can't remember the name
of it, but there was a GUI tool that would let you spin up a custom ISO
of Ubuntu: create user accounts, choose the packages, tweak the "live"
desktop and the installer. Yeah it looked nice. It was certainly simple
if all you wanted to do was either take stuff out or install stuff from
the repos. Really sucked trying to add your own (&)(*&)(*.
The following year the package was no longer maintained.
I gave you that little rant because now CPack claims to have RPM,
Debian, and Windows engines (among others).
https://cmake.org/cmake/help/latest/cpack_gen/rpm.html
https://cmake.org/cmake/help/v3.8/module/CPackRPM.html
Debian
https://cmake.org/cmake/help/latest/cpack_gen/deb.html
https://cmake.org/cmake/help/v3.7/module/CPackDeb.html
Windows
https://cmake.org/cmake/help/book/mastering-cmake/chapter/Packaging%20With%20CPack.html
It's tempting to switch . . . but . . . I've been a victim of
abandonware before.
https://www.logikalsolutions.com/wordpress/information-technology/thank-you-for-your-future-abandonware/
It's tempting to switch all of the projects to use vcpkg as well. Let
vcpkg pull in jpeg, sqlite3, etc. packages at time of build and bundle
what it built with the installation package. That's real tempting. Maybe
others on this list never get burned by it, but I'm sick of the Agile
development Linux distros use. *How many of you have had a perfectly
working executable, the distro powers that be then push out whatever
shat itself out the ass-end of the last sprint, and now stuff is broken?*
You did nothing wrong, but now your software won't work. Guess who gets
the call?
I was creating AppImages of RedDiamond to get around this problem.
https://sourceforge.net/projects/reddiamond/files/AppImages/
No good deed goes unpunished. Ubuntu 24 moved to a new version of Fuse
(which AppImage needs) so you have to instruct people how to install the
old version of Fuse to make things run.
I was considering Flatpacks for the future . . . but vcpkg might be the
best way to go.
I would like Jeroen to look at the vcpkg route and chime in. Just how
much pain would it save you to ONE version of every dependency library
like jpeg, etc? No longer having to hack around all of those issues
>
> My point seems made: It may be too early to go all-in on CMake 4, and
> too big a step to take when introducing CMake to Fox all at once. What
> would be the advantage of using CMake 4 over 3? Are there must-have
> features that building Fox depends on?
>
> Enno.
To me, just spouting out that ass sitting on my shoulders, you first
have to decide
/What are you going to abandon?/
The move to CMake will man FOX no longer runs on many of those platforms
listed on the documentation page. Not that many, if any, of those
platforms are still around and I would seriously doubt they are keeping
current with FOX, but, one has to make the decision.
I can offer a cautionary tale here.
When I posted a message on the CMake boards looking for an example
project to build a Windows installation package for a library that had
both run-time and development installations one person offered up their
own package.
https://github.com/LegalizeAdulthood/iterated-dynamics
It did build just fine on Windows. I noticed they had some verbge in the
script for Unix so I spun up one of my Ubuntu 18.04 development VMs.
Died horribly. I did not know that they had broken their Unix/Linux
support while working on a major update. Then someone else on the CMake
message board chimed in.
cmake --workflow --preset default
I forget if it was workflow or preset, but, one of those did not exist
in the version of CMake available for Ubuntu 18.04.
At this point I will rephrase the question.
/What is the oldest version of insert-Linux-distro-here you wish to run on?/
Use the version of CMake that is in their repos and it "should" build on
all newer ones until CMake becomes mature enough to start deleting major
features.
> --
Roland Hughes, President
Logikal Solutions
(630)-205-1593 (cell)
https://theminimumyouneedtoknow.com
https://infiniteexposure.net
https://johnsmith-book.com
--------------fhvuOAPbR0NsAL9l0FCAad0d
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 12/30/2025 5:11 AM, Enno Rehling
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:[email protected]">
<br>
Someone mentioned vcpkg in this thread: While I'm usually in favor
of using whatever OS package manager to install dependencies (apt,
rpm, brew, or ports), in cases where there is none (Windows,
either 32 or 64 bit), vcpkg does a good job. I've never used it
outside of Windows, but apparently that should also work (unless,
like me, you prefer the native package manager).
<br>
</blockquote>
<p>That was me. </p>
<p>My first exposure to it has been with creating a Windows
installer for LsCs, then LsScintilla, so I can have a Windows
version of RedDiamond.</p>
<p>I am loathe to replace my existing shell scripts that use native
tools to build Debian and RPM packages. I have been burned too
many times by "tools" to generate packages and even ISO files.
Can't remember the name of it, but there was a GUI tool that would
let you spin up a custom ISO of Ubuntu: create user accounts,
choose the packages, tweak the "live" desktop and the installer.
Yeah it looked nice. It was certainly simple if all you wanted to
do was either take stuff out or install stuff from the repos.
Really sucked trying to add your own (&)(*&)(*.</p>
<p>The following year the package was no longer maintained.</p>
<p>I gave you that little rant because now CPack claims to have RPM,
Debian, and Windows engines (among others).</p>
<p><a class="moz-txt-link-freetext" href="https://cmake.org/cmake/help/latest/cpack_gen/rpm.html">https://cmake.org/cmake/help/latest/cpack_gen/rpm.html</a></p>
<p><a class="moz-txt-link-freetext" href="https://cmake.org/cmake/help/v3.8/module/CPackRPM.html">https://cmake.org/cmake/help/v3.8/module/CPackRPM.html</a></p>
<p>Debian</p>
<p><a class="moz-txt-link-freetext" href="https://cmake.org/cmake/help/latest/cpack_gen/deb.html">https://cmake.org/cmake/help/latest/cpack_gen/deb.html</a></p>
<p><a class="moz-txt-link-freetext" href="https://cmake.org/cmake/help/v3.7/module/CPackDeb.html">https://cmake.org/cmake/help/v3.7/module/CPackDeb.html</a></p>
<p>Windows</p>
<p><a class="moz-txt-link-freetext" href="https://cmake.org/cmake/help/book/mastering-cmake/chapter/Packaging%20With%20CPack.html">https://cmake.org/cmake/help/book/mastering-cmake/chapter/Packaging%20With%20CPack.html</a></p>
<p><br>
</p>
<p>It's tempting to switch . . . but . . . I've been a victim of
abandonware before.</p>
<p><a class="moz-txt-link-freetext" href="https://www.logikalsolutions.com/wordpress/information-technology/thank-you-for-your-future-abandonware/">https://www.logikalsolutions.com/wordpress/information-technology/thank-you-for-your-future-abandonware/</a></p>
<p><br>
</p>
<p>It's tempting to switch all of the projects to use vcpkg as well.
Let vcpkg pull in jpeg, sqlite3, etc. packages at time of build
and bundle what it built with the installation package. That's
real tempting. Maybe others on this list never get burned by it,
but I'm sick of the Agile development Linux distros use. <b>How
many of you have had a perfectly working executable, the distro
powers that be then push out whatever shat itself out the
ass-end of the last sprint, and now stuff is broken?</b></p>
<p>You did nothing wrong, but now your software won't work. Guess
who gets the call?</p>
<p>I was creating AppImages of RedDiamond to get around this
problem.</p>
<p><a class="moz-txt-link-freetext" href="https://sourceforge.net/projects/reddiamond/files/AppImages/">https://sourceforge.net/projects/reddiamond/files/AppImages/</a></p>
<p>No good deed goes unpunished. Ubuntu 24 moved to a new version of
Fuse (which AppImage needs) so you have to instruct people how to
install the old version of Fuse to make things run.</p>
<p>I was considering Flatpacks for the future . . . but vcpkg might
be the best way to go. </p>
<p>I would like Jeroen to look at the vcpkg route and chime in. Just
how much pain would it save you to ONE version of every dependency
library like jpeg, etc? No longer having to hack around all of
those issues<br>
</p>
<blockquote type="cite"
cite="mid:[email protected]"><br>
My point seems made: It may be too early to go all-in on CMake 4,
and too big a step to take when introducing CMake to Fox all at
once. What would be the advantage of using CMake 4 over 3? Are
there must-have features that building Fox depends on?
<br>
<br>
Enno.
</blockquote>
<p>To me, just spouting out that ass sitting on my shoulders, you
first have to decide</p>
<p><i>What are you going to abandon?</i></p>
<p>The move to CMake will man FOX no longer runs on many of those
platforms listed on the documentation page. Not that many, if any,
of those platforms are still around and I would seriously doubt
they are keeping current with FOX, but, one has to make the
decision. <br>
</p>
<p>I can offer a cautionary tale here.</p>
<p>When I posted a message on the CMake boards looking for an
example project to build a Windows installation package for a
library that had both run-time and development installations one
person offered up their own package.</p>
<p><a class="moz-txt-link-freetext" href="https://github.com/LegalizeAdulthood/iterated-dynamics">https://github.com/LegalizeAdulthood/iterated-dynamics</a></p>
<p>It did build just fine on Windows. I noticed they had some verbge
in the script for Unix so I spun up one of my Ubuntu 18.04
development VMs. Died horribly. I did not know that they had
broken their Unix/Linux support while working on a major update.
Then someone else on the CMake message board chimed in.</p>
<pre>cmake --workflow --preset default</pre>
<p>I forget if it was workflow or preset, but, one of those did not
exist in the version of CMake available for Ubuntu 18.04.</p>
<p>At this point I will rephrase the question.</p>
<p><i>What is the oldest version of insert-Linux-distro-here you
wish to run on?</i></p>
<p>Use the version of CMake that is in their repos and it "should"
build on all newer ones until CMake becomes mature enough to start
deleting major features.<br>
</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:[email protected]">-- </blockquote>
<pre class="moz-signature" cols="72">Roland Hughes, President
Logikal Solutions
(630)-205-1593 (cell)
<a class="moz-txt-link-freetext" href="https://theminimumyouneedtoknow.com">https://theminimumyouneedtoknow.com</a>
<a class="moz-txt-link-freetext" href="https://infiniteexposure.net">https://infiniteexposure.net</a>
<a class="moz-txt-link-freetext" href="https://johnsmith-book.com">https://johnsmith-book.com</a></pre>
</body>
</html>
--------------fhvuOAPbR0NsAL9l0FCAad0d--
--===============4718944333161459794==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--===============4718944333161459794==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Foxgui-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/foxgui-users
--===============4718944333161459794==--