Review Request 115684: Generate local forwarding headers under a local subdir, to fix clash on Mac OS X.

David Faure faure at kde.org
Tue Feb 11 22:15:09 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/115684/
-----------------------------------------------------------

Review request for Build System, Extra Cmake Modules, KDE Frameworks, and Harald Fernengel.


Repository: extra-cmake-modules


Description
-------

Generate local forwarding headers under a local subdir, to fix clash on Mac OS X.

This is intended to replace RR 115541.

With case-insensitive filesystems, creating KParts and kparts subdirs
in the same parent was obviously a bad idea, especially since we then
make a copy of "KParts" and don't expect the contents of "kparts" to tag along.
Solved by making that KParts (installed) and local/kparts (not installed).

Downside: the modules that use this PREFIX feature need a change like this:
-target_include_directories(KF5Parts PUBLIC "$<BUILD_INTERFACE:${KParts_BINARY_DIR}>")
+target_include_directories(KF5Parts PUBLIC "$<BUILD_INTERFACE:${KParts_BINARY_DIR};${CMAKE_CURRENT_BINARY_DIR}/local>")

Easily scripted though:
perl -pi -e 's/>/\;\${CMAKE_CURRENT_BINARY_DIR}\/local>/ if (/target_include_directories/ && /PUBLIC/)' `grep -rwl PREFIX .`


Diffs
-----

  modules/ECMGenerateHeaders.cmake e98a22e91151d23d7c798ff22a33097ec2a59d10 

Diff: https://git.reviewboard.kde.org/r/115684/diff/


Testing
-------

Applied it, ran the perl script, and a full build-from-scratch worked.
Not tested on a Mac, though :)


Thanks,

David Faure

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-buildsystem/attachments/20140211/10af6a32/attachment.html>


More information about the Kde-buildsystem mailing list