<table><tr><td style="">dmensinger created this revision.<br />Herald added a project: KDevelop.<br />Herald added a subscriber: kdevelop-devel.<br />dmensinger requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D18202">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This adds basic meson introspection support based on the meson API<br />
for 0.50.0 (current meson master branch).</p>

<p>This patch also adds a GUI for changing all build options for a<br />
build directory.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>For a new build directory:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Use the development version of meson</li>
<li class="remarkup-list-item">Make a new build directory and set the meson executable in the advanced options</li>
<li class="remarkup-list-item">The default build options should load after this</li>
<li class="remarkup-list-item">Play around with the options</li>
<li class="remarkup-list-item">Click OK and manually check with meson configure that the build options are correct</li>
</ul>

<p>For an existing build directory:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Open the meson project configuration</li>
<li class="remarkup-list-item">The current options should be complete and match the actual values from meson configure</li>
<li class="remarkup-list-item">Changing and aplying changes should also update the meson configuration</li>
<li class="remarkup-list-item">Nothing should segfault :)</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R32 KDevelop</div></div></div><br /><div><strong>BRANCH</strong><div><div>mesonBuildOpts</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D18202">https://phabricator.kde.org/D18202</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>plugins/meson/CMakeLists.txt<br />
plugins/meson/mesonbuilder.cpp<br />
plugins/meson/mesonbuilder.h<br />
plugins/meson/mesonconfig.cpp<br />
plugins/meson/mesonconfig.h<br />
plugins/meson/mesonintrospectjob.cpp<br />
plugins/meson/mesonintrospectjob.h<br />
plugins/meson/mesonjob.cpp<br />
plugins/meson/mesonmanager.cpp<br />
plugins/meson/mesonoptions.cpp<br />
plugins/meson/mesonoptions.h<br />
plugins/meson/settings/mesonadvancedsettings.cpp<br />
plugins/meson/settings/mesonadvancedsettings.h<br />
plugins/meson/settings/mesonadvancedsettings.ui<br />
plugins/meson/settings/mesonconfigpage.cpp<br />
plugins/meson/settings/mesonconfigpage.h<br />
plugins/meson/settings/mesonconfigpage.ui<br />
plugins/meson/settings/mesonlisteditor.cpp<br />
plugins/meson/settings/mesonlisteditor.h<br />
plugins/meson/settings/mesonlisteditor.ui<br />
plugins/meson/settings/mesonnewbuilddir.cpp<br />
plugins/meson/settings/mesonnewbuilddir.h<br />
plugins/meson/settings/mesonnewbuilddir.ui<br />
plugins/meson/settings/mesonoptionbaseview.cpp<br />
plugins/meson/settings/mesonoptionbaseview.h<br />
plugins/meson/settings/mesonoptionbaseview.ui<br />
plugins/meson/settings/mesonoptionsview.cpp<br />
plugins/meson/settings/mesonoptionsview.h<br />
plugins/meson/settings/mesonoptionsview.ui</div></div></div><br /><div><strong>To: </strong>dmensinger<br /><strong>Cc: </strong>kdevelop-devel, glebaccon, hase, antismap, iodelay, geetamc, Pilzschaf, akshaydeo, surgenight, arrowd<br /></div>