D5447: Only add auto-detected compilers to model if they actually exist
Milian Wolff
noreply at phabricator.kde.org
Mon Jan 28 10:19:07 GMT 2019
mwolff added a comment.
In D5447#399310 <https://phabricator.kde.org/D5447#399310>, @arrowd wrote:
> In D5447#399235 <https://phabricator.kde.org/D5447#399235>, @mwolff wrote:
>
> > the path of the compiler is now always the path of the compiler in the local host, which breaks when you have a runtime with a different setup.
>
>
> Hum. Before being passed to `rt->pathInHost()`, the compiler path gets wrapped into `KDevelop::Path`. Doesn't this make it absolute/invalid? Judging from `Path::Path(QString)` constructor, it should't even accept things like `"gcc"`.
>
> And what are we checking there? I still don't make any sense from this check.
you are right, this code should essentially do `if (rt->findExecutable(compiler->path().isEmpty()) continue;`, could you introduce that please?
>> So, the question really is: Why was the code inloc 213 in `compilerprovider.cpp` not working for you? If `gcc` wasn't installed, we should get:
>>
>> - `compiler->path() == "gcc"`, i.e. not absolute
>> - `QStandardpaths::findExecutable("gcc", path)` should always return false for all the entries in your `PATH`
>> - we should thus never set the gcc compiler
>>
>> please debug why the above didn't work for you
>
> Are you talking about old code? Then it is not `QStandardpaths::findExecutable("gcc", path)` that doesn't work for me, it is `QFileInfo::exists(rt->pathInHost())` part. Why do we skip adding a compiler if it **does** exist?
INLINE COMMENTS
> compilerprovider.cpp:214
> - const bool absolutePath = QDir::isAbsolutePath(compiler->path());
> - if ((absolutePath && QFileInfo::exists(rt->pathInHost(Path(compiler->path())).toLocalFile()))
> - || QStandardPaths::findExecutable( compiler->path(), path).isEmpty() ) {
you are right - the issue is that the old code skips compilers when they exist - there's a ! missing in front of the parens here probably
REPOSITORY
R32 KDevelop
REVISION DETAIL
https://phabricator.kde.org/D5447
To: arrowd, mwolff, arichardson
Cc: skalinichev, apol, kdevelop-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20190128/d998332b/attachment-0001.html>
More information about the KDevelop-devel
mailing list