diff --git a/.gitignore b/.gitignore index 6dce2cc..a597947 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,6 @@ promoe qrc* .gdb* Makefile +.waf-* +.lock-wscript +_build_ diff --git a/lib/wscript b/lib/wscript new file mode 100644 index 0000000..03d5414 --- /dev/null +++ b/lib/wscript @@ -0,0 +1,60 @@ +# encoding: utf-8 +# vim:set syntax=python expandtab : + +""" +This file is a part of Promoe, an XMMS2 Client + +Copyright (C) 2009 XMMS2 Team + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +""" + +lib_source = """ + playlistmodel.cpp + xclient.cpp + xconfig.cpp + xplayback.cpp + xclientcache.cpp + xcollection.cpp + xmmsqt4.cpp + """ + + +def set_options(opt): + pass +def configure(conf): + pass +def build(bld): + obj = bld.new_task_gen('qt4', 'staticlib', 'cxx') + obj.target = 'lib_promoe' + obj.install_path = 0 # Don't install + obj.includes = '.' + obj.source = lib_source + obj.uselib = 'QTCORE QTGUI XMMS2-CLIENT-CPP' + + pass + diff --git a/src/ServerBrowser.cpp b/src/ServerBrowser.cpp index 9b43807..4291e18 100644 --- a/src/ServerBrowser.cpp +++ b/src/ServerBrowser.cpp @@ -14,6 +14,7 @@ */ #include "ServerBrowser.h" +#include "application.h" #include diff --git a/src/wscript b/src/wscript new file mode 100644 index 0000000..8606300 --- /dev/null +++ b/src/wscript @@ -0,0 +1,105 @@ +# encoding: utf-8 +# vim:set syntax=python expandtab : + +""" +This file is a part of Promoe, an XMMS2 Client + +Copyright (C) 2009 XMMS2 Team + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +""" + +import os +import os.path +import Configure + +bld_subdirs = [ + 'dialogs', + 'equalizer', + 'mainwindow', + 'playlist', + 'widgets' + ] +bld_files = [ + 'application.cpp', + 'basewindow.cpp', + 'BrowseDialog.cpp', + 'BrowseModel.cpp', + 'FileDialog.cpp', + 'settingsdialog.cpp', + 'Skin.cpp', + 'SkinChooser.cpp', + 'timedisplay.cpp' + ] + +def files_subdirs(subdirs, filters = ['.cpp', '.ui'], basedir='.'): + ret = [] + for dir in subdirs: + d = os.path.join(basedir, dir) + for file in os.listdir(d): + for filter in filters: + if file.endswith(filter): + ret.append(os.path.join(dir, file)) + + return ret + + + +def set_options(opt): + pass + +def configure(conf): + try: + conf.check_cfg(package='avahi-client', args="--cflags --libs", + mandatory=1) + conf.check_cfg(package='avahi-qt4', args="--cflags --libs", + mandatory=1) + # This is only reached if both checks were successful + conf.define('HAVE_SERVERBROWSER', 1) + except Configure.ConfigurationError: + pass + pass + +def build(bld): + sources = bld_files + sources += files_subdirs(subdirs=bld_subdirs, basedir=bld.curdir_) + + if bld.env['HAVE_SERVERBROWSER']: + sources.append('ServerBrowser.cpp') + + sources.append("../data/Almond-blue.qrc") + + obj = bld.new_task_gen('qt4', 'program', 'cxx') + obj.target = 'promoe' + obj.includes = bld_subdirs + obj.includes.append('.') +# obj.includes.append('../lib') + obj.source= sources + obj.uselib_local = 'lib_promoe' + obj.uselib = 'QTCORE QTGUI AVAHI-CLIENT AVAHI-QT4' + pass + diff --git a/waf b/waf new file mode 100755 index 0000000..1962953 Binary files /dev/null and b/waf differ diff --git a/wscript b/wscript new file mode 100644 index 0000000..381b116 --- /dev/null +++ b/wscript @@ -0,0 +1,86 @@ +# encoding: utf-8 +# vim:set syntax=python expandtab : + +""" +This file is a part of Promoe, an XMMS2 Client + +Copyright (C) 2009 XMMS2 Team + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +""" + +APPVERSION = '0.1.0' +APPNAME = 'promoe' + +srcdir = '.' +blddir = '_build_' + +import os.path + +def set_options(opt): + opt.tool_options('gnu_dirs') + opt.tool_options('qt4') + + opt.sub_options('lib') + opt.sub_options('src') + + +def configure(conf): + conf.check_tool('gnu_dirs') + conf.check_tool('g++') + conf.check_tool('qt4') + + conf.check_cfg(package='xmms2-client-cpp', args="--cflags --libs", + mandatory=1) + + conf.define('VERSION', APPVERSION) + conf.define('PROMOE_VERSION', APPVERSION) + conf.define('PROMOE_DATADIR', os.path.join(conf.env['DATADIR'], 'promoe')) + + # temprary, until all usages are removed + conf.env['CXXDEFINES'] =[] + conf.env['CXXDEFINES'].append('PROMOE_VERSION="%s"'%APPVERSION) + conf.env['CXXDEFINES'].append('DATADIR="%s/promoe"'%conf.env['DATADIR']) + + # Path for 'promoe_config.h' + conf.env.prepend_value("CPPPATH", conf.srcdir) + + conf.sub_config('lib') + # Path needed to find library headers for local static library + conf.env.prepend_value("CPPPATH", os.path.join(conf.srcdir, "lib")) + + conf.sub_config('src') + + conf.write_config_header('promoe_config.h') + +def build(bld): + bld.add_subdirs('lib') + bld.add_subdirs('src') + + bld.install_files('${MANDIR}/man1', 'promoe.1') + bld.install_files('${DATADIR}/applications', 'promoe.desktop') +