scons: specialize CFLAGS for the only python cpp file that needs SVN_REVISION passed to it
This commit is contained in:
parent
13cfffd603
commit
146c13ba09
2 changed files with 16 additions and 14 deletions
20
SConstruct
20
SConstruct
|
@ -331,6 +331,7 @@ pickle_store = [# Scons internal variables
|
||||||
'PYTHON_SYS_PREFIX',
|
'PYTHON_SYS_PREFIX',
|
||||||
'COLOR_PRINT',
|
'COLOR_PRINT',
|
||||||
'HAS_BOOST_SYSTEM',
|
'HAS_BOOST_SYSTEM',
|
||||||
|
'SVN_REVISION'
|
||||||
]
|
]
|
||||||
|
|
||||||
# Add all other user configurable options to pickle pickle_store
|
# Add all other user configurable options to pickle pickle_store
|
||||||
|
@ -985,19 +986,12 @@ if not preconfigured:
|
||||||
else :
|
else :
|
||||||
common_cxx_flags = '-D%s ' % env['PLATFORM'].upper()
|
common_cxx_flags = '-D%s ' % env['PLATFORM'].upper()
|
||||||
|
|
||||||
|
svn_version = call('svnversion')
|
||||||
|
if not svn_version == 'exported':
|
||||||
if not env['FAST']:
|
pattern = r'(\d+)(.*)'
|
||||||
# if we are in SCons FAST mode then make to
|
try:
|
||||||
# to avoid unnessary re-compiles due to changing
|
env['SVN_REVISION'] = re.match(pattern,svn_version).groups()[0]
|
||||||
# CFLAGS when revision number increases
|
except: pass
|
||||||
svn_version = call('svnversion')
|
|
||||||
if not svn_version == 'exported':
|
|
||||||
pattern = r'(\d+)(.*)'
|
|
||||||
try:
|
|
||||||
rev = re.match(pattern,svn_version).groups()[0]
|
|
||||||
common_cxx_flags += '-DSVN_REVISION=%s ' % rev
|
|
||||||
except: pass
|
|
||||||
|
|
||||||
# Mac OSX (Darwin) special settings
|
# Mac OSX (Darwin) special settings
|
||||||
if env['PLATFORM'] == 'Darwin':
|
if env['PLATFORM'] == 'Darwin':
|
||||||
|
|
|
@ -137,6 +137,14 @@ env.Alias(target='install', source=ogcserver_module)
|
||||||
|
|
||||||
|
|
||||||
# install the shared object beside the module directory
|
# install the shared object beside the module directory
|
||||||
_mapnik = env.LoadableModule('mapnik/_mapnik2', glob.glob('*.cpp'), LIBS=libraries, LDMODULEPREFIX='', LDMODULESUFFIX='.so', CPPPATH=headers,LINKFLAGS=linkflags)
|
sources = glob.glob('*.cpp')
|
||||||
|
|
||||||
|
if env.get('SVN_REVISION'):
|
||||||
|
sources.remove('mapnik_python.cpp')
|
||||||
|
env2 = env.Clone();
|
||||||
|
env2.Append(CCFLAGS='-DSVN_REVISION=%s' % env['SVN_REVISION'])
|
||||||
|
sources.insert(0,env2.Object('mapnik_python.cpp'))
|
||||||
|
|
||||||
|
_mapnik = env.LoadableModule('mapnik/_mapnik2', sources, LIBS=libraries, LDMODULEPREFIX='', LDMODULESUFFIX='.so', CPPPATH=headers,LINKFLAGS=linkflags)
|
||||||
pymapniklib = env.Install(env['PYTHON_INSTALL_LOCATION'] + '/mapnik2',_mapnik)
|
pymapniklib = env.Install(env['PYTHON_INSTALL_LOCATION'] + '/mapnik2',_mapnik)
|
||||||
env.Alias(target='install',source=pymapniklib)
|
env.Alias(target='install',source=pymapniklib)
|
||||||
|
|
Loading…
Add table
Reference in a new issue