<table><tr><td style="">mwolff added a comment.
</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/D5447">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D5447#404424" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D5447#404424</a>, <a href="https://phabricator.kde.org/p/arrowd/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@arrowd</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D5447#401247" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D5447#401247</a>, <a href="https://phabricator.kde.org/p/mwolff/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@mwolff</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>you are right, this code should essentially do <tt style="background: #ebebeb; font-size: 13px;">if (rt->findExecutable(compiler->path().isEmpty()) continue;</tt>, could you introduce that please?</p></div>
</blockquote>

<p>I got lost in this conversation. Let's break down all these checks.</p>

<p>Old code:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">absolutePath. Always <tt style="background: #ebebeb; font-size: 13px;">true</tt> now, so can be dropped.</li>
</ul></div>
</blockquote>

<p>It must not be absolute, the compiler must be looked up within the runtime! If we pass in an absolute path resolved on the local host, it will break the runtime integration.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><ul class="remarkup-list">
<li class="remarkup-list-item">QFileInfo::exists(rt->pathInHost()). Should have the condition flipped. Should check if a given absolute path to the compiler exists inside a runtime.</li>
</ul></blockquote>

<p>No, it should check if an executable of the given name exists in the runtime.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><ul class="remarkup-list">
<li class="remarkup-list-item">QStandardPaths::findExecutable(). If I get it right, it should search for given executable name in runtime's PATH paths, but actually was searching in host filesystem.</li>
</ul></blockquote>

<p>Yes, QStandardPaths obviously doesn't know anything about the kdevelop runtimes.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>New code:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">No absolutePath.</li>
</ul></blockquote>

<p>Yes.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><ul class="remarkup-list">
<li class="remarkup-list-item">Fixed QFileInfo::exists(rt->pathInHost()). It now checks if given absolute path in the host also exists in the runtime.</li>
</ul></blockquote>

<p><tt style="background: #ebebeb; font-size: 13px;">rt->findExecutable(name)</tt> which returns empty when no such executable is found</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><ul class="remarkup-list">
<li class="remarkup-list-item">QStandardPaths::findExecutable(). Still does something strange.</li>
</ul></blockquote>

<p>Should be used by the default/local runtime internally</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>So, what's required to get this in? Fix <tt style="background: #ebebeb; font-size: 13px;">QStandardPaths::findExecutable()</tt> to search inside runtime?</p></blockquote>

<p>No, expand the runtime API to add an <tt style="background: #ebebeb; font-size: 13px;">findExecutable</tt> similar to the <tt style="background: #ebebeb; font-size: 13px;">pathInHost</tt> API there, then use it here</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R32 KDevelop</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D5447">https://phabricator.kde.org/D5447</a></div></div><br /><div><strong>To: </strong>arrowd, mwolff, arichardson<br /><strong>Cc: </strong>skalinichev, apol, kdevelop-devel<br /></div>