From d2f17bea85c16a610fcf43f05993b4efb812efc9 Mon Sep 17 00:00:00 2001 From: Edouard Tisserant Date: Mon, 5 Sep 2016 16:56:36 +0200 Subject: [PATCH] Added commandline option for depencencies prefix and boost location --- setup.py | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 19dd53f..97d94d1 100644 --- a/setup.py +++ b/setup.py @@ -1,15 +1,40 @@ # -*- coding: utf-8 -*- +import sys +import os from distutils.core import setup, Extension from glob import glob +from distutils.errors import DistutilsOptionError -prefix = '/Users/vb' -boost = '/opt/local' +def option_value(name): + for index, option in enumerate(sys.argv): + if option == '--' + name: + if index+1 >= len(sys.argv): + raise DistutilsOptionError( + 'The option %s requires a value' % option) + value = sys.argv[index+1] + sys.argv[index:index+2] = [] + return value + if option.startswith('--' + name + '='): + value = option[len(name)+3:] + sys.argv[index:index+1] = [] + return value + env_val = os.getenv(name.upper().replace('-', '_')) + return env_val + +OPTION_PREFIX = option_value("prefix") +OPTION_BOOST = option_value("boost") + +if OPTION_PREFIX is None : + OPTION_PREFIX = '/Users/vb' + +if OPTION_BOOST is None : + OPTION_BOOST = '/opt/local' module_pEp = Extension('pEp', sources = glob('src/*.cc'), - include_dirs = [prefix+'/include', boost+'/include',], - library_dirs = [prefix+'/lib', boost+'/lib',], + include_dirs = [OPTION_PREFIX+'/include', OPTION_BOOST+'/include',], + library_dirs = [OPTION_PREFIX+'/lib', OPTION_BOOST+'/lib',], libraries = ['pEpEngine', 'boost_python-mt', 'boost_locale-mt',], extra_compile_args = ['-O0', '-UNDEBUG', '-std=c++14',], )