Other: change how pkg-config includes are handeles
Wrote some own functions to hande pkg-config includes. now Makefile generation will stop if xmms2-client-cpp.pc is missing Now, compilation should work, even if xmms2-client-cpp development files where installed after qmake das called for the first time. also enabled adding files in the playlistview contextmenu
This commit is contained in:
parent
8221642227
commit
a89be5dd9b
4 changed files with 43 additions and 5 deletions
24
features/pkgconfig.prf
Normal file
24
features/pkgconfig.prf
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
defineTest(pkgconfig_exists) {
|
||||||
|
packages = $$1
|
||||||
|
count(packages, 0): return(false)
|
||||||
|
|
||||||
|
system(pkg-config --exists $$packages) {
|
||||||
|
return(true)
|
||||||
|
} else {
|
||||||
|
return (false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
defineReplace(pkgconfig_cflags) {
|
||||||
|
packages = $$1
|
||||||
|
count(packages, 0): return(false)
|
||||||
|
|
||||||
|
return ($$system(pkg-config --cflags $$packages))
|
||||||
|
}
|
||||||
|
|
||||||
|
defineReplace(pkgconfig_libs) {
|
||||||
|
packages = $$1
|
||||||
|
count(packages, 0): return(false)
|
||||||
|
|
||||||
|
return ($$system(pkg-config --libs $$packages))
|
||||||
|
}
|
10
lib/lib.pro
10
lib/lib.pro
|
@ -1,6 +1,7 @@
|
||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
CONFIG += static
|
CONFIG += static
|
||||||
include (../config.pri)
|
include (../config.pri)
|
||||||
|
load (../features/pkgconfig.prf)
|
||||||
|
|
||||||
MOC_DIR = .moc
|
MOC_DIR = .moc
|
||||||
OBJECTS_DIR = .obj
|
OBJECTS_DIR = .obj
|
||||||
|
@ -39,7 +40,12 @@ QMAKE_CXXFLAGS += -g
|
||||||
;CONFIG += debug warn_on
|
;CONFIG += debug warn_on
|
||||||
QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-parameter
|
QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-parameter
|
||||||
|
|
||||||
CONFIG += link_pkgconfig
|
XMMSCLIENTPKG += xmms2-client-cpp
|
||||||
PKGCONFIG += xmms2-client-cpp xmms2-client
|
pkgconfig_exists ($$XMMSCLIENTPKG) {
|
||||||
|
QMAKE_CXXFLAGS += $$pkgconfig_cflags($$XMMSCLIENTPKG)
|
||||||
|
LIBS += $$pkgconfig_libs($$XMMSCLIENTPKG)
|
||||||
|
} else {
|
||||||
|
error (Please install the xmms2 c++ client library)
|
||||||
|
}
|
||||||
;CONFIG += avahi
|
;CONFIG += avahi
|
||||||
|
|
||||||
|
|
|
@ -188,7 +188,8 @@ PlaylistView::contextMenuEvent (QContextMenuEvent *e)
|
||||||
|
|
||||||
a = new QAction (tr ("Add file"), this);
|
a = new QAction (tr ("Add file"), this);
|
||||||
a->setShortcut (tr ("Ctrl+F"));
|
a->setShortcut (tr ("Ctrl+F"));
|
||||||
a->setEnabled(false); // FIXME: Disabled for now
|
connect (a, SIGNAL (triggered ()),
|
||||||
|
qobject_cast<PlaylistWidget *> (parent ()), SLOT (menuAddFile ()));
|
||||||
qm.addAction (a);
|
qm.addAction (a);
|
||||||
|
|
||||||
a = new QAction (tr ("Remove selected"), this);
|
a = new QAction (tr ("Remove selected"), this);
|
||||||
|
|
11
src/src.pro
11
src/src.pro
|
@ -1,6 +1,7 @@
|
||||||
TEMPLATE = app
|
TEMPLATE = app
|
||||||
|
|
||||||
include (../config.pri)
|
include (../config.pri)
|
||||||
|
load (../features/pkgconfig.prf)
|
||||||
|
|
||||||
COMPONENTS+=../lib/liblib.a
|
COMPONENTS+=../lib/liblib.a
|
||||||
LIBS += $$COMPONENTS
|
LIBS += $$COMPONENTS
|
||||||
|
@ -28,7 +29,13 @@ QMAKE_CXXFLAGS += -g
|
||||||
;CONFIG += debug warn_on
|
;CONFIG += debug warn_on
|
||||||
QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-parameter
|
QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-parameter
|
||||||
|
|
||||||
CONFIG += link_pkgconfig
|
XMMSCLIENTPKG += xmms2-client-cpp
|
||||||
PKGCONFIG += xmms2-client-cpp xmms2-client
|
pkgconfig_exists ($$XMMSCLIENTPKG) {
|
||||||
|
QMAKE_CXXFLAGS += $$pkgconfig_cflags($$XMMSCLIENTPKG)
|
||||||
|
LIBS += $$pkgconfig_libs($$XMMSCLIENTPKG)
|
||||||
|
} else {
|
||||||
|
error (Please install the xmms2 c++ client library)
|
||||||
|
}
|
||||||
|
|
||||||
;CONFIG += avahi
|
;CONFIG += avahi
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue