<div dir="auto">I am very interested in trying out your solution. Could you share the required steps?<div dir="auto"><br></div><div dir="auto">Thx.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 29, 2021, 09:25 Uhrig, Stefan <<a href="mailto:stefan.uhrig@sap.com">stefan.uhrig@sap.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="DE" link="#0563C1" vlink="#954F72">
<div class="m_-4535677999065511736WordSection1">
<p class="MsoNormal"><span lang="EN-US">TL;DR: It is currently possible to build the QGIS core app with Visual Studio 2019 and vcpkg, which makes debugging QGIS dependencies easy.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Hi all,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Some time ago I discovered vcpkg (<a href="https://github.com/microsoft/vcpkg" target="_blank" rel="noreferrer">https://github.com/microsoft/vcpkg</a>). vcpkg is a package manager that downloads package source code to your local machine and builds the
 package locally. Recently, I discovered that vcpkg should be able to provide all dependencies to build at least the QGIS core application. Hence, I gave it a try.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Basically, it worked out of the box. I started with a fresh Windows 10 installation, installed Visual Studio 2019 Community Edition, Git, vcpkg, Python 3 and flex and bison for Windows. I fetched all other dependencies
 via vcpkg. It was not necessary to even touch a single file in the repository. I could just open the main CMakeLists.txt file in Visual Studio and only had to tweak the CMake cache (the CMake find macros that come with QGIS are not aware of vcpkg, so I had
 to set some paths manually). I had to switch off some extensions though as the required dependencies were not available via vcpkg (WITH_BINDINGS, WITH_QGIS_PROCESS, WITH_QTWEBKIT). The build did not report any errors, I could start the application and it seems
 to work, but I did some light testing only.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I mainly tried it because I enjoy debugging with Visual Studio more than with gdb (or gdb wrapped in some IDE). In my experience, the performance of the Visual Studio debugger is better and it is more stable, especially
 in long debug sessions.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I don’t want to promote official building support of QGIS with vcpkg. Providing the dependencies via OSGeo4W is much more reliable. However, if you don’t mind the experimental nature of this setup and you want to be able
 to debug into QGIS’ dependencies, you might give it a try. Especially, if you want to track the cause of a crash in one of QGIS’ dependencies, this setup might be helpful. You have the source code and debug versions of the dependencies, so the debugger will
 jump to the crashing code line and you can inspect all the variables of the dependency.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">If someone is interested in trying it, give me a note. I can then assemble detailed instructions on how to make it work. It took me a while to figure out which packages are needed and how the CMake cache needs to be tweaked.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Best regards,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Stefan<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

_______________________________________________<br>
QGIS-Developer mailing list<br>
<a href="mailto:QGIS-Developer@lists.osgeo.org" target="_blank" rel="noreferrer">QGIS-Developer@lists.osgeo.org</a><br>
List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
</blockquote></div>