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*
|
||||
.gdb*
|
||||
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 "application.h"
|
||||
|
||||
#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