<div dir="ltr"><div>Hello again All. I ended a bit busy Friday/Saturday, due to current cybersecurity events.<br></div><div><br></div><div>Regina, thanks for the clarification on liblwgeom. That reasoning makes sense.<br></div><div><br></div><div>Esteban: I share your sentiment. I don't _need_ PostGIS building with CMake per se, but I do think it would be very handy. What compiler/platform are you trying to target? I still need to look at the build pipeline you sent me last week.<br></div><div><br></div><div>Right now I have my hacked-together changes building on MSVC for Windows; it doesn't link yet, as I'm still getting lwgeom to build. The dependency chain is a bit tedious - it seems to possibly require boost, which fittingly ran my project drive out of space. *sigh*</div><div><br></div><div>Once I do have it working, and the source patches hopefully merged into the PostGIS repo, I will probably release just my CMake targets and other tooling in their own repo for your consideration.</div><div><br></div><div>I will open a ticket at some point, just for getting PostGIS to compile on MSVC. I don't expect the PostGIS project to officially support CMake anytime soon... or ever really.</div><div><br></div><div>Let us resolve not to solve this too quickly, lest we cause other issues with our solution.</div><div><br></div><div>Will<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jul 20, 2024 at 12:57 PM ZIMANYI Esteban <<a href="mailto:esteban.zimanyi@ulb.be">esteban.zimanyi@ulb.be</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"><div class="msg7803943255972861356">




<div dir="ltr">
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Dear Will</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
As you have witnessed, the issue of CMake is delicate with the PostGIS team ...</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
If by chance you manage to do a build for your own usage, irrespective of whether it will arrive or not to the PostGIS code, please let us know because we REALLY need to be able to build PostGIS with CMake and we don't need to comply with all the PostGIS bots
 ...</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Regards</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Esteban</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div id="m_7803943255972861356appendonsend"></div>
<hr style="display:inline-block;width:98%">
<div id="m_7803943255972861356divRplyFwdMsg" dir="ltr"><span style="font-family:Calibri,sans-serif;font-size:11pt;color:rgb(0,0,0)"><b>De :</b> Regina Obe <<a href="mailto:lr@pcorp.us" target="_blank">lr@pcorp.us</a>><br>
<b>Envoyé :</b> samedi 20 juillet 2024 06:30<br>
<b>À :</b> 'Will Bowers' <<a href="mailto:wbowers314@gmail.com" target="_blank">wbowers314@gmail.com</a>>; 'Greg Troxel' <<a href="mailto:gdt@lexort.com" target="_blank">gdt@lexort.com</a>><br>
<b>Cc :</b> 'PostGIS Development Discussion' <<a href="mailto:postgis-devel@lists.osgeo.org" target="_blank">postgis-devel@lists.osgeo.org</a>><br>
<b>Objet :</b> RE: CMake/MSVC Support</span>
<div> </div>
</div>
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt"><span style="font-size:11pt">Will,</span></p>
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt"><span style="font-size:11pt"> </span></p>
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt"><span style="font-size:11pt">When strk had the bright idea to share liblwgeom with the world, we did set it to be linked.</span></p>
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt"><span style="font-size:11pt">This caused issues though cause we would then find new versions of postgis linking to older versions of liblwgeom and then other projects starting to use
 it too which meant we now had a whole set of new concerns like having to care about when we changed internal machinery in a micro version of PostGIS.</span></p>
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt"><span style="font-size:11pt"> </span></p>
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt"><span style="font-size:11pt">So we decided to close it off again.  The reason it’s a separate folder is because it is a core part of most of the extensions that are part of postgis project.</span></p>
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt"><span style="font-size:11pt"> </span></p>
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt"><span style="font-size:11pt">postgis, postgis_raster, postgis_topology, postgis_sfcgal, and even sadly our commandline tools all need it and package a static copy of it for their lib/executable.</span></p>
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt"><span style="font-size:11pt"> </span></p>
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt"><span style="font-size:11pt"> </span></p>
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt"><span style="font-size:11pt"> </span></p>
<div style="padding:0in 0in 0in 4pt;border-left:1.5pt solid blue">
<div style="padding:3pt 0in 0in;border-top:1pt solid rgb(225,225,225)">
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt"><span style="font-family:Calibri,sans-serif;font-size:11pt"><b>From:</b> Will Bowers <<a href="mailto:wbowers314@gmail.com" target="_blank">wbowers314@gmail.com</a>><br>
<b>Sent:</b> Friday, July 19, 2024 12:49 PM<br>
<b>To:</b> Greg Troxel <<a href="mailto:gdt@lexort.com" target="_blank">gdt@lexort.com</a>><br>
<b>Cc:</b> PostGIS Development Discussion <<a href="mailto:postgis-devel@lists.osgeo.org" target="_blank">postgis-devel@lists.osgeo.org</a>><br>
<b>Subject:</b> Re: CMake/MSVC Support</span></p>
</div>
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt"> </p>
<p>Hi again all, thanks for all the additional info.</p>
<p>Greg, I hear you loud and clear. I am not trying to tell you to switch off your current build pipeline, I just want to see CMake supported as well. Maybe that support needs to be unofficial, and I am okay with that. I am of the opinion that PostGIS should
 build with all major compilers though, so I would love to help get it building on MSVC (with any build system).</p>
<p>Sandro, I am definitely confused here. But if the lwgeom that builds into PostGIS is not a fork, why is there an liblwgeom folder with all the source files in the postgis repo? Why build it as part of PostGIS instead of simply linking against it as you do
 with other libraries?</p>
<p>Will</p>
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt"> </p>
<p style="margin:0in;font-family:Aptos,sans-serif;font-size:12pt">On Thu, Jul 18, 2024, 5:17<span style="font-family:Arial,sans-serif"> </span>PM Greg Troxel <<span style="color:blue"><u><a href="mailto:gdt@lexort.com" id="m_7803943255972861356OWA7dc1fe7a-83b5-93e5-74f8-5d5b3c0d7321" style="color:blue;margin-top:0px;margin-bottom:0px" target="_blank">gdt@lexort.com</a></u></span>>
 wrote:</p>
<blockquote style="margin-right:0in;margin-left:4.8pt;padding:0in 0in 0in 6pt;border-left:1pt solid rgb(204,204,204)">
<p style="margin:0in 0in 12pt;font-family:Aptos,sans-serif;font-size:12pt">
Will Bowers <<span style="color:blue"><u><a href="mailto:wbowers314@gmail.com" id="m_7803943255972861356OWAce36bc7b-f42d-5499-8e05-345ee70455e4" style="color:blue;margin-top:0px;margin-bottom:0px" target="_blank">wbowers314@gmail.com</a></u></span>> writes:<br>
<br>
> Thanks for the info. Like anyone else, I have personal opinions about CMake<br>
> and Meson, but those aren't terribly important right now. There are some<br>
<br>
I have some historical info in a broad brush way.   There have been a<br>
lot of projects that use autoconf/automake and people show up and say<br>
"cmake is better!  Let's switch!".  There is a "but we have to have no<br>
regressions from current behavior" and the cmake people agree, and then<br>
cmake support appears and it has regressions.  Typically they are in<br>
cross build support and in working on platforms the authors haven't<br>
tested on because at least for those implementations, they lacked the<br>
"feature tests only, do not ever  check for a specific OS rule".<br>
<br>
So my view, which doesn't officially count, is that to be merged any<br>
cmake support must be:<br>
<br>
  as free of "ifdef FooOS" as the previous system<br>
<br>
  capable of building cross, just like autoconf<br>
<br>
  support all the --bindir/--libdir stuff that autoconf does<br>
<br>
  support proper -R and ld flags like autoconf/libtool does<br>
<br>
  support building the code and running tests, with it testing the<br>
  just-build code *even if there is a previous version installed*.<br>
<br>
I think you will find it harder than it seems.<br>
<br>
Making small fixes to improve portability is of course a separate<br>
matter.</p>
</blockquote>
</div>
t
</div>

</div></blockquote></div>