<div dir="ltr"><div>How would CMake behave with all those options that are defined depending on what is present on the compiler machine?</div><div><br></div><div>IMHO, the libraries included should be independent on what is already installed on the compiler machine. The last time something/somebody included "zstd" in our compiler machine, and not in the executing machine, and we couldn't run anything. We did not need zstd, but it was there, breaking the execution. I know that the solution there is disable it "--without-zstd". What I do not like is the lack of definition, because what is present on the compiler machine may change.</div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">.___ ._ ..._ .. . ._.  .___ .. __ . _. . __..  ... .... ._ .__<br>Entre dos pensamientos racionales <br>hay infinitos pensamientos irracionales.<br><br></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 5 Oct 2021 at 14:51, Greg Troxel <<a href="mailto:gdt@lexort.com">gdt@lexort.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Even Rouault <<a href="mailto:even.rouault@spatialys.com" target="_blank">even.rouault@spatialys.com</a>> writes:<br>
<br>
> Please find at <a href="https://github.com/OSGeo/gdal/pull/4590" rel="noreferrer" target="_blank">https://github.com/OSGeo/gdal/pull/4590</a> a RFC that proposes:<br>
><br>
> - to develop a CMake build system, officially integrated in the source tree.<br>
><br>
> - and remove the current GNU makefiles and nmake build systems, when<br>
> the CMake build system has matured enough and reached feature parity.<br>
<br>
I added a comment that requirements should be stated and gave a first<br>
cut at them.  My big problem with cmake from packaging is that people<br>
write CMakefile code with OS-specific tests instead of feature tests and<br>
then packagers have to add lots of patches that add OS names to<br>
conditionals.  So the requireents should ban that practice in favor of<br>
feature tests.<br>
<br>
The other big comment is that "matured enough" is not just for what the<br>
project can test on CI, but the entire packaging world, so I included<br>
having a formal release with cmake where autoconf is marked deprecated<br>
for packagers to try to make work, so those issues can be fixed before a<br>
release without autoconf.  I get it that the project has CI for what<br>
they have, but I don't think that requirements should be driven by what<br>
CI exists.<br>
<br>
I'm willing to test on alpha/beta/rc; I can create a<br>
separate/work-in-progress package that is gdal alpha built with cmake,<br>
to flush out these things.<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
gdal-dev mailing list<br>
<a href="mailto:gdal-dev@lists.osgeo.org" target="_blank">gdal-dev@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/gdal-dev" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a><br>
</blockquote></div>