* Add hl2sdk-manifests submodule * Update AMBuild scripts to utilize hl2sdk-manifests * Add build*/ to .gitignore
		
			
				
	
	
		
			70 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
 | |
| import os
 | |
| 
 | |
| project = builder.LibraryProject('game.cstrike.ext')
 | |
| project.sources += [
 | |
|   'extension.cpp',
 | |
|   'natives.cpp',
 | |
|   'RegNatives.cpp',
 | |
|   'timeleft.cpp',
 | |
|   'forwards.cpp',
 | |
|   'util_cstrike.cpp',
 | |
|   '../../public/smsdk_ext.cpp',
 | |
|   '../../public/CDetour/detours.cpp',
 | |
|   '../../public/asm/asm.c',
 | |
|   '../../public/libudis86/decode.c',
 | |
|   '../../public/libudis86/itab.c',
 | |
|   '../../public/libudis86/syn-att.c',
 | |
|   '../../public/libudis86/syn-intel.c',
 | |
|   '../../public/libudis86/syn.c',
 | |
|   '../../public/libudis86/udis86.c',
 | |
| ]
 | |
| 
 | |
| for sdk_name in ['css', 'csgo']:
 | |
|   if sdk_name not in SM.sdks:
 | |
|     continue
 | |
|   sdk = SM.sdks[sdk_name]
 | |
| 
 | |
|   if sdk_name == 'csgo':
 | |
|     project.sources += ['rulesfix.cpp']
 | |
|   
 | |
|   for cxx in builder.targets:
 | |
|     if not cxx.target.arch in sdk['platforms'][cxx.target.platform]:
 | |
|       continue
 | |
| 
 | |
|     cxx.defines += ['HAVE_STRING_H']
 | |
|     binary = SM.HL2ExtConfig(project, builder, cxx, 'game.cstrike.ext.' + sdk['extension'], sdk)
 | |
|     if sdk_name == 'csgo':
 | |
|       compiler = binary.compiler
 | |
|       compiler.cxxincludes += [os.path.join(sdk['path'], 'public', 'steam')]
 | |
|       compiler.defines += ['VERSION_SAFE_STEAM_API_INTERFACES']
 | |
| 
 | |
|       library_name = ''
 | |
|       if cxx.target.platform == 'windows':
 | |
|         compiler.linkflags += [os.path.join(sdk['path'], 'lib', 'public', 'steam_api.lib')]
 | |
|       elif cxx.target.platform == 'linux':
 | |
|         library_name = 'libsteam_api.so'
 | |
|         if cxx.target.arch == 'x86_64':
 | |
|           source_path = os.path.join(sdk['path'], 'lib', 'linux64')
 | |
|         else:
 | |
|           source_path = os.path.join(sdk['path'], 'lib', 'linux')
 | |
|       elif cxx.target.platform == 'mac':
 | |
|         library_name = 'libsteam_api.dylib'
 | |
|         if cxx.target.arch == 'x86_64':
 | |
|           source_path = os.path.join(sdk['path'], 'lib', 'osx64')
 | |
|         else:
 | |
|           source_path = os.path.join(sdk['path'], 'lib', 'mac')
 | |
| 
 | |
|       if library_name:
 | |
|         source_path = os.path.join(source_path, library_name)
 | |
|         output_path = os.path.join(binary.localFolder, library_name)
 | |
| 
 | |
|         # Ensure the output path exists.
 | |
|         builder.AddFolder(binary.localFolder)
 | |
|         output = builder.AddSymlink(source_path, output_path)
 | |
| 
 | |
|         compiler.weaklinkdeps += [output]
 | |
|         compiler.linkflags[0:0] = [library_name]
 | |
| 
 | |
| SM.extensions += builder.Add(project)
 |