This simplifies non-sdk build scripts by removing their loops over SM.archs. Instead the top-level build script will re-evaluate them for each architecture.
		
			
				
	
	
		
			34 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
 | 
						|
import os
 | 
						|
 | 
						|
binary = SM.ExtLibrary(builder, 'regex.ext', arch)
 | 
						|
binary.compiler.cxxincludes += [
 | 
						|
  os.path.join(SM.mms_root, 'core', 'sourcehook'),
 | 
						|
]
 | 
						|
if binary.compiler.family == 'gcc' or binary.compiler.family == 'clang':
 | 
						|
  binary.compiler.cxxflags += ['-fno-rtti']
 | 
						|
elif binary.compiler.family == 'msvc':
 | 
						|
  binary.compiler.cxxflags += ['/GR-']
 | 
						|
 | 
						|
if builder.target.platform == 'linux':
 | 
						|
  if arch == 'x86':
 | 
						|
    path = os.path.join(builder.sourcePath, 'extensions', 'regex', 'lib_linux', 'libpcre.a')
 | 
						|
  elif arch == 'x64':
 | 
						|
    path = os.path.join(builder.sourcePath, 'extensions', 'regex', 'lib_linux64', 'libpcre.a')
 | 
						|
elif builder.target.platform == 'windows':
 | 
						|
  path = os.path.join(builder.sourcePath, 'extensions', 'regex', 'lib_win', 'pcre.lib')
 | 
						|
elif builder.target.platform == 'mac':
 | 
						|
  if arch == 'x86':
 | 
						|
    path = os.path.join(builder.sourcePath, 'extensions', 'regex', 'lib_darwin', 'libpcre.a')
 | 
						|
  elif arch == 'x64':
 | 
						|
    path = os.path.join(builder.sourcePath, 'extensions', 'regex', 'lib_darwin64', 'libpcre.a')
 | 
						|
binary.compiler.postlink += [binary.Dep(path)]
 | 
						|
 | 
						|
binary.sources += [
 | 
						|
  'extension.cpp',
 | 
						|
  'CRegEx.cpp',
 | 
						|
  '../../public/smsdk_ext.cpp'
 | 
						|
]
 | 
						|
 | 
						|
SM.extensions += [builder.Add(binary)]
 |