core/logic/AMBuilder
author Kyle Sanderson <kyle.leet@gmail.com>
Mon Aug 12 00:42:56 2013 +0100 (2013-08-12)
changeset 3994 4bc73bac0f4c
parent 3872 4c93f74cae51
child 4025 542dde661d5c
permissions -rw-r--r--
Added helper stock to check if a command exists. (bug 5510, r=asherkin)
dvander@2784
     1
# vim: set ts=2 sw=2 tw=99 noet ft=python: 
dvander@2784
     2
import os
dvander@2784
     3
dvander@2784
     4
compiler = SM.DefaultCompiler()
dvander@2784
     5
base = AMBuild.sourceFolder
dvander@2784
     6
compiler['CXXINCLUDES'].append(os.path.join(SM.mmsPath, 'core', 'sourcehook'))
dvander@2784
     7
compiler['CXXINCLUDES'].append(os.path.join(base, 'core', 'logic'))
dvander@2784
     8
compiler['CXXINCLUDES'].append(os.path.join(base, 'public'))
dvander@2784
     9
compiler['CXXINCLUDES'].append(os.path.join(base, 'public', 'sourcepawn'))
dvander@2784
    10
compiler['CDEFINES'].append('SM_DEFAULT_THREADER')
dvander@2784
    11
compiler['CDEFINES'].append('SM_LOGIC')
dvander@2784
    12
dvander@2793
    13
if AMBuild.target['platform'] == 'linux':
dvander@2792
    14
	compiler['POSTLINKFLAGS'].append('-lpthread')
ds@3295
    15
if AMBuild.target['platform'] == 'darwin':
ds@3628
    16
	compiler['CFLAGS'].extend(['-Wno-deprecated-declarations'])
ds@3295
    17
	compiler['POSTLINKFLAGS'].extend(['-framework', 'CoreServices'])
dvander@2792
    18
dvander@2784
    19
extension = AMBuild.AddJob('sourcemod.logic')
dvander@2784
    20
binary = Cpp.LibraryBuilder('sourcemod.logic', AMBuild, extension, compiler)
dvander@2784
    21
files = [
dvander@2784
    22
	'common_logic.cpp',
dvander@2784
    23
	'smn_adt_array.cpp',
dvander@2784
    24
	'smn_sorting.cpp',
dvander@2784
    25
	'smn_maplists.cpp',
dvander@2784
    26
	'smn_adt_stack.cpp',
dvander@2784
    27
	'thread/ThreadWorker.cpp',
dvander@2784
    28
	'thread/BaseWorker.cpp',
dvander@2784
    29
	'ThreadSupport.cpp',
dvander@2784
    30
	'smn_float.cpp',
dvander@2784
    31
	'TextParsers.cpp',
dvander@2784
    32
	'smn_textparse.cpp',
dvander@2784
    33
	'smn_adt_trie.cpp',
dvander@2784
    34
	'Profiler.cpp',
dvander@2906
    35
	'smn_functions.cpp',
dvander@2989
    36
	'smn_timers.cpp',
dvander@2996
    37
	'smn_players.cpp',
dvander@2999
    38
	'MemoryUtils.cpp',
dvander@3000
    39
	'smn_admin.cpp',
dvander@3001
    40
	'smn_banning.cpp',
dvander@3791
    41
	'smn_filesystem.cpp',
dvander@3002
    42
	'stringutil.cpp',
dvander@3004
    43
	'Translator.cpp',
dvander@3004
    44
	'PhraseCollection.cpp',
dvander@3004
    45
	'smn_lang.cpp',
dvander@3006
    46
	'smn_string.cpp',
dvander@3008
    47
	'smn_handles.cpp',
dvander@3009
    48
	'smn_datapacks.cpp',
dvander@3010
    49
	'smn_gameconfigs.cpp',
dvander@3872
    50
	'smn_fakenatives.cpp',
dvander@3010
    51
	'GameConfigs.cpp',
dvander@3270
    52
	'sm_crc32.cpp',
dvander@3792
    53
	'smn_profiler.cpp',
dvander@3872
    54
	'ShareSys.cpp',
dvander@3872
    55
	'PluginSys.cpp',
dvander@3872
    56
	'HandleSys.cpp',
dvander@3872
    57
	'NativeOwner.cpp',
dvander@3872
    58
	'NativeInvoker.cpp',
dvander@3872
    59
	'ExtensionSys.cpp',
dvander@3792
    60
	'DebugReporter.cpp'
dvander@2784
    61
	]
dvander@2784
    62
if AMBuild.target['platform'] == 'windows':
dvander@2784
    63
	files.append('thread/WinThreads.cpp')
dvander@2784
    64
else:
dvander@2784
    65
	files.append('thread/PosixThreads.cpp')
dvander@2784
    66
binary.AddSourceFiles('core/logic', files)
dvander@2784
    67
SM.AutoVersion('core/logic', binary)
asherkin@3835
    68
SM.ExtractDebugInfo(extension, binary)
dvander@2784
    69
binary.SendToJob()
dvander@2784
    70