# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
import os

project = SteamWorks.HL2Project(builder, 'SteamWorks.ext')
project.sources += [
  'extension.cpp',
  'swgameserver.cpp',
  'swgamedata.cpp',
  'swforwards.cpp',
  'gsnatives.cpp',
  'swgshooks.cpp',
  'swgsdetours.cpp',
  'ssnatives.cpp',
  'gcnatives.cpp',
  'swhttp.cpp',
  'swhttprequest.cpp',
  'swgchooks.cpp',
  'sdk/smsdk_ext.cpp',
  'CDetour/detours.cpp',
  'asm/asm.c'
]

for sdk_name in SteamWorks.sdks:
  sdk = SteamWorks.sdks[sdk_name]

  binary = SteamWorks.HL2Config(project, builder.cxx, 'SteamWorks.ext', sdk)
  
  binary.compiler.defines += ['META_NO_HL2SDK', 'SOURCEMOD_BUILD', 'VERSION_SAFE_STEAM_API_INTERFACES']
  binary.compiler.cxxincludes += [os.path.join(SteamWorks.steamworks_root, 'public', 'steam'), os.path.join(sdk.path, 'public', 'steam')];
  
  if binary.compiler.target.platform == 'linux':
    binary.compiler.postlink += os.path.join(SteamWorks.steamworks_root, 'redistributable_bin', 'linux32', 'libsteam_api.so'),;
	
  if binary.compiler.target.platform == 'windows':
    binary.compiler.postlink += os.path.join(SteamWorks.steamworks_root, 'redistributable_bin', 'steam_api.lib'),;
	
  if binary.compiler.target.platform == 'mac':
    binary.compiler.postlink += os.path.join(SteamWorks.steamworks_root, 'redistributable_bin', 'osx', 'libsteam_api.dylib'),;

SteamWorks.extensions += builder.Add(project)
