D7930: Kdevelop CMake plugin : use canonical paths to build.dir
René J.V. Bertin
noreply at phabricator.kde.org
Thu Sep 21 21:07:07 UTC 2017
rjvbb created this revision.
rjvbb added a reviewer: KDevelop.
rjvbb added a project: KDevelop.
REVISION SUMMARY
The build system of projects like KDevelop itself depends internally on the use of relative paths to (auto-generated) headerfiles. The build and thus also the parsing of such projects can break because of this if there are symlinks on the build.dir path and the host OS doesn't normalise (canonicalise) paths by default.
This modification introduces optional build.dir normalisation and uses it wherever required. I kept the default to off since I'm not certain what subtle things and user expectation would be broken by turning it on by default.
Normalisation is done on the fly, so the path is preserved in the configuration dialog and settings files as entered initially by the user.
TEST PLAN
works as intended. It also restores parsing for KDevelop (and similar projects) when imported with the JSON importer (probably by reintroducing #a8d7c1bd2351d25faa47e9ba9c17b3d52d173579).
Question: should the source directory also be canonicalised?
REPOSITORY
R32 KDevelop
REVISION DETAIL
https://phabricator.kde.org/D7930
AFFECTED FILES
plugins/cmake/cmakebuilddirchooser.cpp
plugins/cmake/cmakecommitchangesjob.cpp
plugins/cmake/cmakeimportjsonjob.cpp
plugins/cmake/cmakemanager.cpp
plugins/cmake/cmakemodelitems.cpp
plugins/cmake/cmakeserverimportjob.cpp
plugins/cmake/cmakeutils.cpp
plugins/cmake/cmakeutils.h
plugins/cmake/settings/cmakepreferences.cpp
To: rjvbb, #kdevelop
Cc: kdevelop-devel, geetamc, Pilzschaf, akshaydeo, surgenight, arrowdodger
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20170921/f89262ab/attachment.html>
More information about the KDevelop-devel
mailing list