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