ports/audio/tomahawk/files/patch-src_libtomahawk_CMakeLists.txt
Raphael Kubo da Costa 87c262ff1c x11-toolkits/attica: Change the location where we install its headers.
In preparation for the upcoming KDE Frameworks 5 and Plasma 5 ports, install
attica's headers into include/attica/attica instead of include/attica.

Users of attica reference the headers in the code with
    #include <attica/foo.h>
which means the compiler is passed -I${LOCALBASE}/include for the headers to
be found.

The KDE Frameworks 5 version of attica installs the headers into
include/KF5/attica, so depending on the other of the arguments the compiler
can end up being passed
    -I${LOCALBASE}/include -I${LOCALBASE}/include/KF5
leading to the wrong attica headers being used instead.

By changing the header location, we make sure one passes
-I${LOCALBASE}/include/attica to use the attica 0.4.2 headers.

The original idea and code came from Tobias Berner <tcberner@gmail.com>,
with further improvements from myself.

While here, add some comments explaining why some sed calls are made in the
post-patch target.

Last but not least, audio/tomahawk had to be patched for the attica headers
to be properly found now that they are no longer in ${LOCALBASE}/include.
The patch itself contains a larger explanation of what had to be done. All
other ports depending on x11-toolkits/attica work fine without any changes.

Submitted by:	Tobias Berner <tcberner@gmail.com> (original version)
2016-03-09 15:14:35 +00:00

21 lines
1 KiB
Text

Make sure targets depending on tomahawklib also include LIBATTICA_INCLUDE_DIR.
If x11-toolkits/attica is not installed in a location such as
${LOCALBASE}/include, we risk breaking the build like this:
In file included from /wrkdirs/usr/ports/audio/tomahawk/work/tomahawk-0.8.4/src/infoplugins/generic/charts/ChartsPlugin.cpp:29:
In file included from /wrkdirs/usr/ports/audio/tomahawk/work/tomahawk-0.8.4/src/libtomahawk/TomahawkSettings.h:28:
/wrkdirs/usr/ports/audio/tomahawk/work/tomahawk-0.8.4/src/libtomahawk/AtticaManager.h:30:10: fatal error: 'attica/provider.h' file not found
#include <attica/provider.h>
--- src/libtomahawk/CMakeLists.txt.orig 2015-04-15 04:41:40 UTC
+++ src/libtomahawk/CMakeLists.txt
@@ -488,6 +488,9 @@ set_target_properties(
OUTPUT_NAME "tomahawk"
)
+if(LIBATTICA_FOUND)
+ TARGET_INCLUDE_DIRECTORIES(tomahawklib INTERFACE ${LIBATTICA_INCLUDE_DIR})
+endif(LIBATTICA_FOUND)
qt5_use_modules(tomahawklib Widgets Network Sql WebKitWidgets Concurrent Xml UiTools Svg)