mirror of
https://github.com/alliedmodders/metamod-source.git
synced 2025-01-19 08:52:34 +01:00
Fix s1_sample_mm compilation on Windows and for Episode 1 and document build process.
This commit is contained in:
parent
057f967730
commit
f598373ca2
@ -191,9 +191,6 @@ class MMSConfig(object):
|
||||
|
||||
cxx = builder.DetectCxx()
|
||||
|
||||
if cxx.like('msvc') and len(self.archs) > 1:
|
||||
raise Exception('Building multiple archs with MSVC is not currently supported')
|
||||
|
||||
if cxx.behavior == 'gcc':
|
||||
cxx.defines += [
|
||||
'stricmp=strcasecmp',
|
||||
@ -229,9 +226,6 @@ class MMSConfig(object):
|
||||
if cxx.version >= 'clang-3.9' or cxx.version >= 'apple-clang-10.0':
|
||||
cxx.cxxflags += ['-Wno-expansion-to-defined']
|
||||
|
||||
elif cxx.like('msvc'):
|
||||
raise Exception('MSVC builds should use the Visual Studio projects until somebody implements support') # todo: implement MSVC support
|
||||
|
||||
# Optimization
|
||||
if builder.options.opt == '1':
|
||||
if cxx.behavior == 'gcc':
|
||||
@ -275,17 +269,10 @@ class MMSConfig(object):
|
||||
def HL2Compiler(self, context, sdk, arch):
|
||||
compiler = context.cxx.clone()
|
||||
|
||||
if sdk.name == 'episode1' or sdk.name == 'darkm':
|
||||
compiler.cxxincludes += [
|
||||
os.path.join(context.currentSourcePath),
|
||||
os.path.join(self.mms_root, 'core-legacy'),
|
||||
os.path.join(self.mms_root, 'core-legacy', 'sourcehook'),
|
||||
]
|
||||
else:
|
||||
compiler.cxxincludes += [
|
||||
os.path.join(context.currentSourcePath),
|
||||
os.path.join(self.mms_root, 'core'),
|
||||
os.path.join(self.mms_root, 'core', 'sourcehook'),
|
||||
compiler.cxxincludes += [
|
||||
os.path.join(context.currentSourcePath),
|
||||
os.path.join(self.mms_root, 'core'),
|
||||
os.path.join(self.mms_root, 'core', 'sourcehook'),
|
||||
]
|
||||
|
||||
defines = ['SE_' + PossibleSDKs[i].define + '=' + PossibleSDKs[i].code for i in PossibleSDKs]
|
||||
@ -332,18 +319,11 @@ class MMSConfig(object):
|
||||
return compiler
|
||||
|
||||
def AddVersioning(self, binary, arch):
|
||||
if builder.target.platform == 'windows':
|
||||
# todo: verify this for MSVC support
|
||||
binary.sources += ['version.rc']
|
||||
binary.compiler.rcdefines += [
|
||||
'BINARY_NAME="{0}"'.format(binary.outputFile),
|
||||
'RC_COMPILE'
|
||||
]
|
||||
elif builder.target.platform == 'mac' and binary.type == 'library':
|
||||
if builder.target.platform == 'mac' and binary.type == 'library':
|
||||
binary.compiler.postlink += [
|
||||
'-compatibility_version', '1.0.0',
|
||||
'-current_version', self.productVersion
|
||||
]
|
||||
]
|
||||
|
||||
return binary
|
||||
|
||||
|
@ -7,11 +7,18 @@ Build instructions
|
||||
|
||||
Make sure ambuild2 is installed: https://github.com/alliedmodders/ambuild
|
||||
|
||||
Configure the build (where `--hl2sdk-root` specifies the path to the desired SDK installed by `support/checkout-deps.sh`):
|
||||
Configure the build (`--hl2sdk-root` specifies the path where the all SDKs have been installed by `support/checkout-deps.sh` and `--mms_path` is the path to Metamod: Source).
|
||||
|
||||
If you only want to compile using a specific SDK you can hack around the requirement to build for all SDKs by modifying the calls to the SDK constructor in the assignment to `PossibleSDKs` in `AMBuildScript` and setting the `platforms` parameter to \[\] for all SDKs that you don't want to compile for.
|
||||
|
||||
### Windows
|
||||
|
||||
Use Command Prompt as Gitbash doesn't handle the path arguments correctly.
|
||||
|
||||
```
|
||||
mkdir build
|
||||
cd build
|
||||
python ../configure.py --hl2sdk-root C:/Users/user/Documents/GitHub/hl2sdk-episode1
|
||||
python ../configure.py --hl2sdk-root C:\Users\user\Documents\GitHub --mms_path C:\Users\user\Documents\GitHub\metamod-source
|
||||
```
|
||||
|
||||
Build:
|
||||
|
@ -20,10 +20,6 @@
|
||||
extern IVEngineServer *engine;
|
||||
extern CGlobalVars *gpGlobals;
|
||||
|
||||
#if SOURCE_ENGINE == SE_EPISODEONE && defined METAMOD_PLAPI_VERSION
|
||||
#error "Metamod:Source 1.6 API is not supported on the old engine."
|
||||
#endif
|
||||
|
||||
#define ENGINE_CALL(func) SH_CALL(engine, &IVEngineServer::func)
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user