104 lines
3.2 KiB
Python
104 lines
3.2 KiB
Python
# encoding: utf-8
|
|
# vim:set syntax=python expandtab :
|
|
|
|
"""
|
|
This file is a part of Promoe, an XMMS2 Client
|
|
|
|
Copyright (C) 2009-2010 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',
|
|
'skin',
|
|
'widgets'
|
|
]
|
|
bld_files = [
|
|
'application.cpp',
|
|
'basewindow.cpp',
|
|
'BrowseDialog.cpp',
|
|
'BrowseModel.cpp',
|
|
'FileDialog.cpp',
|
|
'settingsdialog.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')
|
|
|
|
incdirs = bld_subdirs
|
|
incdirs.append('.')
|
|
|
|
obj = bld.new_task_gen(features='qt4 cprogram cxx')
|
|
obj.target = 'promoe'
|
|
obj.includes = incdirs
|
|
obj.source = sources
|
|
obj.uselib_local = 'backend_lib dir_iterator'
|
|
obj.add_objects = 'promoe_data'
|
|
obj.uselib = 'QTCORE QTGUI AVAHI-CLIENT AVAHI-QT4'
|
|
pass
|
|
|