[KDE/Mac] Review Request 128272: support -iframework and -F header search path options
René J.V. Bertin
rjvbertin at gmail.com
Wed Jun 22 22:56:10 UTC 2016
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128272/
-----------------------------------------------------------
(Updated June 23, 2016, 12:56 a.m.)
Review request for KDE Software on Mac OS X and KDevelop.
Changes
-------
Shouldn't we provide a fallback/default implementation for `IBuildSystemManager::frameworkDirectories()`, so that classes inheriting IBuildSystemManager aren't obliged to provide an implementation?
Repository: kdevelop
Description
-------
This is a draft implementation for parser support of the `-iframework dir` and `-F dir` compiler arguments. On OS X these are the framework equivalents of `-isystem` and `-I` respectively, telling the compiler and/or linker where to find framework bundles.
I started out making the new code available on OS X only but that introduces a lot of #ifdefs for probably little benefit. On the contrary, clang supports the arguments on Linux too, presumably because clang is a functional cross-compiler that can generate Darwin Mach-O object files on Linux too.
For the 1st approach I propose to parse the framework directories, adding the effective header directories of the individual frameworks as if they were added explicitly. The framework directories are also added to a new list in the result structure. I presume that this is a prerequisite for adding them to the (lib)clang arguments of the clang parser.
Diffs
-----
languages/plugins/custom-definesandincludes/CMakeLists.txt 5a6c5b7
languages/plugins/custom-definesandincludes/compilerprovider/compilerprovider.h 7a5184f
languages/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp 24e532a
languages/plugins/custom-definesandincludes/idefinesandincludesmanager.h 5da71f2
projectmanagers/cmake/cmakeimportjsonjob.cpp f064647
projectmanagers/cmake/cmakemanager.h 3096b7d
projectmanagers/cmake/cmakemanager.cpp 5c15e2f
projectmanagers/cmake/cmakeprojectdata.h 60e8773
projectmanagers/custom-buildsystem/custombuildsystemplugin.h 372b283
projectmanagers/custom-buildsystem/custombuildsystemplugin.cpp b04647e
projectmanagers/custommake/custommakemanager.h 33c2997
projectmanagers/custommake/custommakemanager.cpp e2ce943
projectmanagers/custommake/makefileresolver/makefileresolver.h 22f9dba
projectmanagers/custommake/makefileresolver/makefileresolver.cpp ab069bb
projectmanagers/custommake/makefileresolver/tests/test_custommake.h 3ad0f36
projectmanagers/custommake/makefileresolver/tests/test_custommake.cpp 368e83e
projectmanagers/qmake/qmakemanager.h e5e3266
projectmanagers/qmake/qmakemanager.cpp 123b474
Diff: https://git.reviewboard.kde.org/r/128272/diff/
Testing
-------
the unittest works as expected on OS X.
File Attachments (updated)
----------------
the real companion patch for kdevplatform
https://git.reviewboard.kde.org/media/uploaded/files/2016/06/22/67189f62-ec2c-4797-a315-cafc44fbbb6d__patch-support-kdevp-frameworks.diff
Thanks,
René J.V. Bertin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20160622/b33dab62/attachment.html>
More information about the kde-mac
mailing list