CMake 4
Sander Jansen <[email protected]> Sat, 27 Dec 2025 08:54:30 -0600
| Newsgroups | gmane.comp.lib.fox-toolkit.user |
|---|---|
| Message-ID | <CACj81kFv3v0mHATZVEqtb2GnthBnVr+nG-eRdU_KHOhLU+i63A@mail.gmail.com> |
--===============8707978906562667260==
Content-Type: multipart/alternative; boundary="00000000000088c23d0646f03073"
--00000000000088c23d0646f03073
Content-Type: text/plain; charset="UTF-8"
I've updated my CMake project files for FOX to a minimum version of 4.0 as
the 3.xx releases are now considered legacy. Currently updated to 1.7.86.
The new version is much better organized and also installs CMake config
files, which makes integration into other CMake projects a lot easier (just
import the FOX target). Out of tree builds are now properly supported. In
addition projects can also link directly to the build tree for testing
purposes without having to install FOX.
This new version also enables PCH which basically halves the compile time
for FOX.
I was able to cross compile FOX using MinGW quite easily and was even able
to run it under Wine without a hitch. I have not tested it under native
Windows yet, but I'm planning to see whether I can use CMake's FetchContent
to automatically fetch and compile basic dependencies like jpeg and zlib,
as Windows lacks package management like we do on Linux
I did find an oddity in regards to the jpeg2000 support in FOX, as it
seemingly requires both HAVE_JP2_H and HAVE_J2K_H to be defined. The latter
appears to be used in the FXJP2{Icon/Image}, while the former is used in
the actual io.
Another remaining issue is the few left over FXAPI decorators in the
glviewer app which breaks builds on Windows due to dlexport/ dlimport
mix-up. Those should be removed.
The repo for CMake can be found here:
https://github.com/gogglesguy/fox/tree/cmake
I'm in the progress of updating gogglesmm to use this as a submodule here:
https://github.com/gogglesmm/gogglesmm/tree/cmake4
Cheers,
Sander
--00000000000088c23d0646f03073
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"auto">I've updated my CMake project files for FOX to a mini=
mum version of 4.0 as the 3.xx releases are now considered legacy. Currentl=
y updated to 1.7.86.<div dir=3D"auto"><br></div><div dir=3D"auto">The new v=
ersion is much better organized and also installs CMake config files, which=
makes integration into other CMake projects a lot easier (just import the =
FOX target). Out of tree builds are now properly supported. In addition pro=
jects can also link directly to the build tree for testing purposes without=
having to install FOX.</div><div dir=3D"auto"><br></div><div dir=3D"auto">=
This new version also enables PCH which basically halves the compile time f=
or FOX.</div><div dir=3D"auto"><br></div><div dir=3D"auto">I was able to cr=
oss compile FOX using MinGW quite easily and was even able to run it under =
Wine without a hitch. I have not tested it under native Windows yet, but I&=
#39;m planning to see whether I can use CMake's FetchContent to automat=
ically fetch and compile basic dependencies like jpeg and zlib, as Windows =
lacks package management like we do on Linux=C2=A0</div><div dir=3D"auto"><=
br></div><div dir=3D"auto">I did find an oddity in regards to the jpeg2000 =
support in FOX, as it seemingly requires both=C2=A0HAVE_JP2_H and HAVE_J2K_=
H to be defined. The latter appears to be used in the FXJP2{Icon/Image}, wh=
ile the former is used in the actual io.</div><div dir=3D"auto"><br></div><=
div dir=3D"auto">Another remaining issue is the few left over FXAPI decorat=
ors in the glviewer app which breaks builds on Windows due to dlexport/ dli=
mport mix-up. Those should be removed.</div><div dir=3D"auto"><br></div><di=
v dir=3D"auto">The repo for CMake can be found here:</div><div dir=3D"auto"=
><a href=3D"https://github.com/gogglesguy/fox/tree/cmake" rel=3D"noreferrer=
noreferrer noreferrer noreferrer" target=3D"_blank">https://github.com/gog=
glesguy/fox/tree/cmake</a></div><div dir=3D"auto"><br></div><div dir=3D"aut=
o">I'm in the progress of updating gogglesmm to use this as a submodule=
here:</div><div dir=3D"auto"><a href=3D"https://github.com/gogglesmm/goggl=
esmm/tree/cmake4" rel=3D"noreferrer noreferrer noreferrer" target=3D"_blank=
">https://github.com/gogglesmm/gogglesmm/tree/cmake4</a></div><div dir=3D"a=
uto"><br></div><div dir=3D"auto">Cheers,</div><div dir=3D"auto"><br></div><=
div dir=3D"auto">Sander=C2=A0</div></div>
--00000000000088c23d0646f03073--
--===============8707978906562667260==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--===============8707978906562667260==
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
--===============8707978906562667260==--