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:
Thomas Frauendorfer 2008-07-04 00:40:56 +02:00
parent 8221642227
commit a89be5dd9b
4 changed files with 43 additions and 5 deletions

24
features/pkgconfig.prf Normal file
View 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))
}

View file

@ -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

View file

@ -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);

View file

@ -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