OTHER: add waf buildscripts
This commit is contained in:
parent
d9cedc7c5d
commit
b66ab0e6ea
6 changed files with 255 additions and 0 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -16,3 +16,6 @@ promoe
|
||||||
qrc*
|
qrc*
|
||||||
.gdb*
|
.gdb*
|
||||||
Makefile
|
Makefile
|
||||||
|
.waf-*
|
||||||
|
.lock-wscript
|
||||||
|
_build_
|
||||||
|
|
60
lib/wscript
Normal file
60
lib/wscript
Normal file
|
@ -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
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ServerBrowser.h"
|
#include "ServerBrowser.h"
|
||||||
|
#include "application.h"
|
||||||
|
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
|
||||||
|
|
105
src/wscript
Normal file
105
src/wscript
Normal file
|
@ -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
|
||||||
|
|
BIN
waf
vendored
Executable file
BIN
waf
vendored
Executable file
Binary file not shown.
86
wscript
Normal file
86
wscript
Normal file
|
@ -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')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue