This commit is contained in:
Nicholas Hastings 2012-08-26 23:35:18 -04:00
commit 3025b9b5e0
50 changed files with 244 additions and 122 deletions

View File

@ -30,7 +30,7 @@ class SM:
self.possibleSdks['eye'] = {'sdk': 'HL2SDK-EYE', 'ext': '2.eye', 'def': '5',
'name': 'EYE', 'platform': ['windows']}
self.possibleSdks['csgo'] = {'sdk': 'HL2SDKCSGO', 'ext': '2.csgo', 'def': '12',
'name': 'CSGO', 'platform': ['windows', 'linux']}
'name': 'CSGO', 'platform': ['windows', 'linux', 'darwin']}
# self.possibleSdks['portal2'] = {'sdk': 'HL2SDK-PORTAL2', 'ext': '2.portal2', 'def': '11',
# 'name': 'PORTAL2', 'platform': ['windows']}
@ -46,13 +46,13 @@ class SM:
'HL2SDKOBVALVE': 'hl2sdk-ob-valve',
'HL2SDKL4D': 'hl2sdk-l4d',
'HL2SDKL4D2': 'hl2sdk-l4d2',
'HL2SDKCSGO': 'hl2sdk-csgo',
'MYSQL5': 'mysql-5.0'
}
if AMBuild.target['platform'] != 'darwin':
envvars['HL2SDK'] = 'hl2sdk'
envvars['HL2SDKOB'] = 'hl2sdk-ob'
envvars['HL2SDKCSGO'] = 'hl2sdk-csgo'
#Dark Messiah is Windows-only
if AMBuild.target['platform'] == 'windows':
@ -195,6 +195,8 @@ class SM:
if self.vendor == 'clang':
self.compiler.AddToListVar('POSTLINKFLAGS', '-lgcc_eh')
elif AMBuild.target['platform'] == 'darwin':
self.compiler.AddToListVar('CDEFINES', 'OSX')
self.compiler.AddToListVar('CDEFINES', '_OSX')
self.compiler.AddToListVar('POSTLINKFLAGS', '-mmacosx-version-min=10.5')
self.compiler.AddToListVar('POSTLINKFLAGS', ['-arch', 'i386'])
self.compiler.AddToListVar('POSTLINKFLAGS', '-lstdc++')

View File

@ -395,7 +395,7 @@ bool SM_ExecuteConfig(CPlugin *pl, AutoConfig *cfg, bool can_create)
FILE *fp = fopen(file, "wt");
if (fp)
{
fprintf(fp, "// This file was auto-generated by SourceMod (v%s)\n", SM_FULL_VERSION);
fprintf(fp, "// This file was auto-generated by SourceMod (v%s)\n", SM_VERSION_STRING);
fprintf(fp, "// ConVars for plugin \"%s\"\n", pl->GetFilename());
fprintf(fp, "\n\n");

View File

@ -149,7 +149,7 @@ void Logger::_NewMapFile()
} else {
char date[32];
strftime(date, sizeof(date), "%m/%d/%Y - %H:%M:%S", curtime);
fprintf(fp, "L %s: SourceMod log file started (file \"L%02d%02d%03d.log\") (Version \"%s\")\n", date, curtime->tm_mon + 1, curtime->tm_mday, i, SM_FULL_VERSION);
fprintf(fp, "L %s: SourceMod log file started (file \"L%02d%02d%03d.log\") (Version \"%s\")\n", date, curtime->tm_mon + 1, curtime->tm_mday, i, SM_VERSION_STRING);
fclose(fp);
}
}
@ -362,7 +362,7 @@ void Logger::LogMessage(const char *vafmt, ...)
char date[32];
m_DailyPrintHdr = false;
strftime(date, sizeof(date), "%m/%d/%Y - %H:%M:%S", curtime);
fprintf(fp, "L %s: SourceMod log file session started (file \"L%04d%02d%02d.log\") (Version \"%s\")\n", date, curtime->tm_year + 1900, curtime->tm_mon + 1, curtime->tm_mday, SM_FULL_VERSION);
fprintf(fp, "L %s: SourceMod log file session started (file \"L%04d%02d%02d.log\") (Version \"%s\")\n", date, curtime->tm_year + 1900, curtime->tm_mon + 1, curtime->tm_mday, SM_VERSION_STRING);
}
va_list ap;
va_start(ap, vafmt);

View File

@ -793,7 +793,7 @@ void PlayerManager::OnClientCommand(edict_t *pEntity)
}
ClientConsolePrint(pEntity,
"SourceMod %s, by AlliedModders LLC", SM_FULL_VERSION);
"SourceMod %s, by AlliedModders LLC", SM_VERSION_STRING);
ClientConsolePrint(pEntity,
"To see running plugins, type \"sm plugins\"");
ClientConsolePrint(pEntity,

View File

@ -13,6 +13,7 @@ compiler['CDEFINES'].append('SM_LOGIC')
if AMBuild.target['platform'] == 'linux':
compiler['POSTLINKFLAGS'].append('-lpthread')
if AMBuild.target['platform'] == 'darwin':
compiler['CFLAGS'].extend(['-Wno-deprecated-declarations'])
compiler['POSTLINKFLAGS'].extend(['-framework', 'CoreServices'])
extension = AMBuild.AddJob('sourcemod.logic')

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "SourceMod"
VALUE "FileDescription", "SourceMod Core Logic"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "sourcemod"
VALUE "LegalCopyright", "Copyright (c) 2004-2009, AlliedModders LLC"
VALUE "OriginalFilename", "sourcemod.logic.dll"
VALUE "ProductName", "SourceMod"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -39,7 +39,7 @@
RootConsoleMenu g_RootMenu;
ConVar sourcemod_version("sourcemod_version", SM_FULL_VERSION, FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY, "SourceMod Version");
ConVar sourcemod_version("sourcemod_version", SM_VERSION_STRING, FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY, "SourceMod Version");
RootConsoleMenu::RootConsoleMenu()
{
@ -339,7 +339,7 @@ void RootConsoleMenu::OnRootConsoleCommand(const char *cmdname, const CCommand &
else if (strcmp(cmdname, "version") == 0)
{
ConsolePrint(" SourceMod Version Information:");
ConsolePrint(" SourceMod Version: %s", SM_FULL_VERSION);
ConsolePrint(" SourceMod Version: %s", SM_VERSION_STRING);
ConsolePrint(" SourcePawn Engine: %s (build %s)", g_pSourcePawn2->GetEngineName(), g_pSourcePawn2->GetVersionString());
ConsolePrint(" SourcePawn API: v1 = %d, v2 = %d", g_pSourcePawn->GetEngineAPIVersion(), g_pSourcePawn2->GetAPIVersion());
ConsolePrint(" Compiled on: %s %s", __DATE__, __TIME__);

View File

@ -145,7 +145,7 @@ const char *SourceMod_Core::GetLicense()
const char *SourceMod_Core::GetVersion()
{
return SM_FULL_VERSION;
return SM_VERSION_STRING;
}
const char *SourceMod_Core::GetDate()

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "SourceMod"
VALUE "FileDescription", "SourceMod Core"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "sourcemod"
VALUE "LegalCopyright", "Copyright (c) 2004-2008, AlliedModders LLC"
VALUE "OriginalFilename", BINARY_NAME
VALUE "ProductName", "SourceMod"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -61,7 +61,7 @@ bool BinTools::SDK_OnLoad(char *error, size_t maxlength, bool late)
const char *BinTools::GetExtensionVerString()
{
return SM_FULL_VERSION;
return SM_VERSION_STRING;
}
const char *BinTools::GetExtensionDateString()

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "BinTools Extension"
VALUE "FileDescription", "SourceMod BinTools Extension"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "SourceMod BinTools Extension"
VALUE "LegalCopyright", "Copyright (c) 2004-2008, AlliedModders LLC"
VALUE "OriginalFilename", BINARY_NAME
VALUE "ProductName", "SourceMod BinTools Extension"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -485,7 +485,7 @@ IdentityToken_t *ClientPrefs::GetIdentity() const
const char *ClientPrefs::GetExtensionVerString()
{
return SM_FULL_VERSION;
return SM_VERSION_STRING;
}
const char *ClientPrefs::GetExtensionDateString()

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "Client Preferences Extension"
VALUE "FileDescription", "SourceMod Client Preferences Extension"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "SourceMod Client Preferences Extension"
VALUE "LegalCopyright", "Copyright (c) 2004-2008, AlliedModders LLC"
VALUE "OriginalFilename", BINARY_NAME
VALUE "ProductName", "SourceMod Client Preferences Extension"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -34,7 +34,9 @@
#if defined PLATFORM_POSIX
#include <sys/mman.h>
#ifndef PAGE_SIZE
#define PAGE_SIZE 4096
#endif
#define ALIGN(ar) ((long)ar & ~(PAGE_SIZE-1))
#define PAGE_EXECUTE_READWRITE PROT_READ|PROT_WRITE|PROT_EXEC
#endif

View File

@ -283,7 +283,7 @@ bool CStrike::ProcessCommandTarget(cmd_target_info_t *info)
const char *CStrike::GetExtensionVerString()
{
return SM_FULL_VERSION;
return SM_VERSION_STRING;
}
const char *CStrike::GetExtensionDateString()

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "SourceMod CS:S Extension"
VALUE "FileDescription", "SourceMod CS:S Extension"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "SourceMod CS:S Extension"
VALUE "LegalCopyright", "Copyright (c) 2004-2008, AlliedModders LLC"
VALUE "OriginalFilename", BINARY_NAME
VALUE "ProductName", "SourceMod CS:S Extension"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -78,7 +78,7 @@ void CurlExt::SDK_OnUnload()
const char *CurlExt::GetExtensionVerString()
{
return SM_FULL_VERSION;
return SM_VERSION_STRING;
}
const char *CurlExt::GetExtensionDateString()

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "Webternet Extension"
VALUE "FileDescription", "SourceMod Webternet Extension"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "SourceMod Webternet Extension"
VALUE "LegalCopyright", "Copyright (c) 2004-2009, AlliedModders LLC"
VALUE "OriginalFilename", BINARY_NAME
VALUE "ProductName", "SourceMod Webternet Extension"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -70,7 +70,7 @@ void GeoIP_Extension::SDK_OnUnload()
const char *GeoIP_Extension::GetExtensionVerString()
{
return SM_FULL_VERSION;
return SM_VERSION_STRING;
}
const char *GeoIP_Extension::GetExtensionDateString()

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "GeoIP Extension"
VALUE "FileDescription", "SourceMod GeoIP Extension"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "SourceMod GeoIP Extension"
VALUE "LegalCopyright", "Copyright (c) 2004-2008, AlliedModders LLC"
VALUE "OriginalFilename", BINARY_NAME
VALUE "ProductName", "SourceMod GeoIP Extension"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -62,7 +62,7 @@ void DBI_MySQL::SDK_OnUnload()
const char *DBI_MySQL::GetExtensionVerString()
{
return SM_FULL_VERSION;
return SM_VERSION_STRING;
}
const char *DBI_MySQL::GetExtensionDateString()

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "MySQL Extension"
VALUE "FileDescription", "SourceMod MySQL Extension"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "SourceMod MySQL Extension"
VALUE "LegalCopyright", "Copyright (c) 2004-2008, AlliedModders LLC"
VALUE "OriginalFilename", BINARY_NAME
VALUE "ProductName", "SourceMod MySQL Extension"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -65,7 +65,7 @@ void RegexExtension::SDK_OnUnload()
const char *RegexExtension::GetExtensionVerString()
{
return SM_FULL_VERSION;
return SM_VERSION_STRING;
}
const char *RegexExtension::GetExtensionDateString()

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "SourceMod Regular Expression Extension"
VALUE "FileDescription", "SourceMod Regular Expression Extension"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "SourceMod Regular Expression Extension"
VALUE "LegalCopyright", "Copyright (c) 2004-2008, AlliedModders LLC"
VALUE "OriginalFilename", BINARY_NAME
VALUE "ProductName", "SourceMod Regular Expression Extension"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -34,7 +34,9 @@
#if defined PLATFORM_POSIX
#include <sys/mman.h>
#ifndef PAGE_SIZE
#define PAGE_SIZE 4096
#endif
#define ALIGN(ar) ((long)ar & ~(PAGE_SIZE-1))
#define PAGE_EXECUTE_READWRITE PROT_READ|PROT_WRITE|PROT_EXEC
#endif

View File

@ -428,7 +428,7 @@ bool SDKTools::ProcessCommandTarget(cmd_target_info_t *info)
const char *SDKTools::GetExtensionVerString()
{
return SM_FULL_VERSION;
return SM_VERSION_STRING;
}
const char *SDKTools::GetExtensionDateString()

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "SDKTools Extension"
VALUE "FileDescription", "SourceMod SDKTools Extension"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "SourceMod SDKTools Extension"
VALUE "LegalCopyright", "Copyright (c) 2004-2008, AlliedModders LLC"
VALUE "OriginalFilename", BINARY_NAME
VALUE "ProductName", "SourceMod SDKTools Extension"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -74,7 +74,7 @@ size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...)
const char *SqliteExt::GetExtensionVerString()
{
return SM_FULL_VERSION;
return SM_VERSION_STRING;
}
const char *SqliteExt::GetExtensionDateString()

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "SQLite Extension"
VALUE "FileDescription", "SourceMod SQLite Extension"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "SourceMod SQLite Extension"
VALUE "LegalCopyright", "Copyright (c) 2004-2008, AlliedModders LLC"
VALUE "OriginalFilename", BINARY_NAME
VALUE "ProductName", "SourceMod SQLite Extension"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -133,7 +133,7 @@ bool TF2Tools::SDK_OnLoad(char *error, size_t maxlength, bool late)
const char *TF2Tools::GetExtensionVerString()
{
return SM_FULL_VERSION;
return SM_VERSION_STRING;
}
const char *TF2Tools::GetExtensionDateString()

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "SourceMod TF2 Extension"
VALUE "FileDescription", "SourceMod TF2 Extension"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "SourceMod TF2 Extension"
VALUE "LegalCopyright", "Copyright (c) 2004-2008, AlliedModders LLC"
VALUE "OriginalFilename", BINARY_NAME
VALUE "ProductName", "SourceMod TF2 Extension"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -67,7 +67,7 @@ void TopMenuExtension::SDK_OnUnload()
const char *TopMenuExtension::GetExtensionVerString()
{
return SM_FULL_VERSION;
return SM_VERSION_STRING;
}
const char *TopMenuExtension::GetExtensionDateString()

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "TopMenus Extension"
VALUE "FileDescription", "SourceMod TopMenus Extension"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "SourceMod TopMenus Extension"
VALUE "LegalCopyright", "Copyright (c) 2004-2008, AlliedModders LLC"
VALUE "OriginalFilename", BINARY_NAME
VALUE "ProductName", "SourceMod TopMenus Extension"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -356,8 +356,7 @@ void UpdateReader::PerformUpdate(const char *url)
xfer = webternet->CreateSession();
xfer->SetFailOnHTTPError(true);
form->AddString("version", SM_FULL_VERSION);
form->AddString("build", SM_BUILD_UNIQUEID);
form->AddString("version", SM_VERSION_STRING);
unsigned int num_files = 0;
add_folders(form, "gamedata", num_files);

View File

@ -249,7 +249,7 @@ void AddUpdateError(const char *fmt, ...)
const char *SmUpdater::GetExtensionVerString()
{
return SM_FULL_VERSION;
return SM_VERSION_STRING;
}
const char *SmUpdater::GetExtensionDateString()

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "Automatic Updater"
VALUE "FileDescription", "SourceMod Automatic Updater"
VALUE "FileVersion", SM_FILE_VERSION
VALUE "FileVersion", SM_VERSION_FILE
VALUE "InternalName", "SourceMod Updater Extension"
VALUE "LegalCopyright", "Copyright (c) 2004-2009, AlliedModders LLC"
VALUE "OriginalFilename", BINARY_NAME
VALUE "ProductName", "SourceMod Updater Extension"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -11,7 +11,6 @@
"Games"
{
//No mac binary yet so no mac gamedata
"csgo"
{
"Offsets"
@ -21,32 +20,34 @@
{
"windows" "6"
"linux" "6"
"mac" "6"
}
"WeaponPrice"
{
"windows" "2700"
"linux" "2700"
"mac" "2700"
}
//Offset into CheckRestartRound
//Only Windows/Linux for now.
"CTTeamScoreOffset"
{
"windows" "97"
"linux" "124"
"mac" "150"
}
//Offset into CheckRestartRound
//Only Windows/Linux for now.
"TTeamScoreOffset"
{
"windows" "122"
"linux" "159"
"mac" "185"
}
//Offset into IncrementNumMVPs to find MVP count offset from player
//Only Windows/Linux for now.
"MVPCountOffset"
{
"windows" "46"
"linux" "47"
"mac" "61"
}
}
"Signatures"
@ -56,42 +57,49 @@
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x56\x8B\xF1\x8B\x0D\x2A\x2A\x2A\x2A\x57\xE8\x2A\x2A\x2A\x2A\x84\xC0\x75"
"linux" "@_ZN9CCSPlayer12RoundRespawnEv"
"mac" "@_ZN9CCSPlayer12RoundRespawnEv"
}
"SwitchTeam"
{
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x56\x57\x8B\x7D\x2A\x57\x8B\xF1\xE8\x2A\x2A\x2A\x2A\x83\xC4"
"linux" "@_ZN9CCSPlayer10SwitchTeamEi"
"mac" "@_ZN9CCSPlayer10SwitchTeamEi"
}
"HandleCommand_Buy_Internal"
{
"library" "server"
"windows" "\x55\x8B\xEC\x81\xEC\x2A\x2A\x00\x00\x53\x56\x8B\xF1\x80\xBE\x2A\x2A\x00\x00\x00"
"linux" "@_ZN9CCSPlayer26HandleCommand_Buy_InternalEPKc"
"mac" "@_ZN9CCSPlayer26HandleCommand_Buy_InternalEPKc"
}
"CSWeaponDrop"//Wildcard first 6 bytes for CS:S DM
{
"library" "server"
"windows" "\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x53\x56\x8B\x2A\x2A\x32\xDB\x57\x8B\xF9\x85\xF6\x0F\x84"
"linux" "@_ZN9CCSPlayer12CSWeaponDropEP17CBaseCombatWeaponbb"
"mac" "@_ZN9CCSPlayer12CSWeaponDropEP17CBaseCombatWeaponbb"
}
"TerminateRound"
{
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x53\x8B\x2A\x2A\x56\x57\x33\xFF"
"linux" "@_ZN12CCSGameRules14TerminateRoundEfi"
"mac" "@_ZN12CCSGameRules14TerminateRoundEfi"
}
"GetTranslatedWeaponAlias"
{
"library" "server"
"windows" "\x55\x8B\xEC\x56\x57\x8B\x2A\x2A\x33\xF6\x8D\x9B\x2A\x2A\x2A\x2A\x8B\x04\xF5\x2A\x2A\x2A\x2A\x57\x50\xE8\x2A\x2A\x2A\x2A\x83\xC4\x2A\x85\xC0\x74\x2A\x46\x83\xFE\x2A\x72\x2A\x8B\xC7\x5F\x5E\x5D\xC3"
"linux" "@_Z24GetTranslatedWeaponAliasPKc"
"mac" "@_Z24GetTranslatedWeaponAliasPKc"
}
"GetWeaponInfo"
{
"library" "server"
"windows" "\x55\x8B\xEC\x8B\x4D\x2A\x33\xC0\x85\xC9\x74"
"linux" "@_Z13GetWeaponInfo10CSWeaponID"
"mac" "@_Z13GetWeaponInfo10CSWeaponID"
}
//In CS:GO this is actually CCSGameRules::CheckRestartRound(void) but to keep same gamedata as cs:s.
"CheckWinLimit"
@ -99,18 +107,21 @@
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x56\x57\x8B\xF9\x8B\x0D\x2A\x2A\x2A\x2A\x81\xF9\x2A\x2A\x2A\x2A\x75\x2A\x8B"
"linux" "@_ZN12CCSGameRules17CheckRestartRoundEv"
"mac" "@_ZN12CCSGameRules17CheckRestartRoundEv"
}
"IncrementNumMVPs"
{
"library" "server"
"windows" "\x55\x8B\xEC\xA1\x2A\x2A\x2A\x2A\x8B\x50\x2A\x57\x8B\xF9\xB9\x2A\x2A\x2A\x2A\xFF\xD2\x85\xC0\x74\x2A\x68"
"linux" "@_ZN9CCSPlayer16IncrementNumMVPsE13CSMvpReason_t"
"mac" "@_ZN9CCSPlayer16IncrementNumMVPsE13CSMvpReason_t"
}
"AliasToWeaponID"
{
"library" "server"
"windows" "\x55\x8B\xEC\x56\x57\x8B\x2A\x2A\x85\xFF\x74\x2A\x33\xF6\x8B\xFF"
"linux" "@_Z15AliasToWeaponIDPKc"
"mac" "@_Z15AliasToWeaponIDPKc"
}
}
}

View File

@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -47,12 +47,12 @@ BEGIN
BEGIN
VALUE "Comments", "SourceMod Loader"
VALUE "FileDescription", "SourceMod Loader"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "sourcemod"
VALUE "LegalCopyright", "Copyright (c) 2004-2008, AlliedModders LLC"
VALUE "OriginalFilename", "sourcemod_mm.dll"
VALUE "ProductName", "SourceMod Loader"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -36,15 +36,18 @@ spcomp = os.path.join(AMBuild.outputFolder, 'spcomp', 'spcomp')
includes = os.path.relpath(os.path.join(AMBuild.sourceFolder, 'plugins', 'include'),
os.path.join(AMBuild.outputFolder, 'plugins'))
versioninc = os.path.relpath(os.path.join(AMBuild.outputFolder, 'includes'),
os.path.join(AMBuild.outputFolder, 'plugins'))
#This one has to be special
sp = os.path.join(AMBuild.sourceFolder, 'plugins', 'admin-flatfile', 'admin-flatfile.sp')
args = [spcomp, '-i' + includes, sp]
args = [spcomp, 'SM_GENERATED_BUILD=', '-i' + versioninc, '-i' + includes, sp]
plugins.AddCommand(command.DirectCommand(args))
#Do the normal ones
for file in files:
sp = os.path.join(AMBuild.sourceFolder, 'plugins', file)
args = [spcomp, '-i' + includes, sp]
args = [spcomp, 'SM_GENERATED_BUILD=', '-i' + versioninc, '-i' + includes, sp]
plugins.AddCommand(command.DirectCommand(args))

View File

@ -35,8 +35,15 @@
#endif
#define _version_included
#if defined SM_GENERATED_BUILD
#include <version_auto>
#else
#define SOURCEMOD_V_TAG "manual"
#define SOURCEMOD_V_REV 0
#define SOURCEMOD_V_CSET "0"
#define SOURCEMOD_V_MAJOR 1 /**< SourceMod Major version */
#define SOURCEMOD_V_MINOR 5 /**< SourceMod Minor version */
#define SOURCEMOD_V_RELEASE 0 /**< SourceMod Release version */
#define SOURCEMOD_VERSION "1.5.0-dev" /**< SourceMod version string (major.minor.release.build) */
#define SOURCEMOD_VERSION "1.5.0-manual" /**< SourceMod version string (major.minor.release.build) */
#endif

View File

@ -27,6 +27,7 @@ C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3
C_GCC4_FLAGS = -fvisibility=hidden
CPP_GCC4_FLAGS = -fvisibility-inlines-hidden
CPP = gcc
CPP_OSX = clang
##########################
### SDK CONFIGURATIONS ###
@ -116,7 +117,7 @@ INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)
CFLAGS += -DPOSIX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \
-D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -DCOMPILER_GCC -Wall -Werror \
-Wno-switch -Wno-unused -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32
-Wno-overloaded-virtual -Wno-switch -Wno-unused -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32
CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti
################################################
@ -134,8 +135,9 @@ else
endif
ifeq "$(OS)" "Darwin"
CPP = $(CPP_OSX)
LIB_EXT = dylib
CFLAGS += -isysroot /Developer/SDKs/MacOSX10.5.sdk
CFLAGS += -DOSX -D_OSX
LINK += -dynamiclib -lstdc++ -mmacosx-version-min=10.5
else
LIB_EXT = so
@ -143,12 +145,37 @@ else
LINK += -shared
endif
GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1)
ifeq "$(GCC_VERSION)" "4"
IS_CLANG := $(shell $(CPP) --version | head -1 | grep clang > /dev/null && echo "1" || echo "0")
ifeq "$(IS_CLANG)" "1"
CPP_MAJOR := $(shell $(CPP) --version | grep clang | sed "s/.*version \([0-9]\)*\.[0-9]*.*/\1/")
CPP_MINOR := $(shell $(CPP) --version | grep clang | sed "s/.*version [0-9]*\.\([0-9]\)*.*/\1/")
else
CPP_MAJOR := $(shell $(CPP) -dumpversion >&1 | cut -b1)
CPP_MINOR := $(shell $(CPP) -dumpversion >&1 | cut -b3)
endif
# If not clang
ifeq "$(IS_CLANG)" "0"
CFLAGS += -mfpmath=sse
endif
# Clang || GCC >= 4
ifeq "$(shell expr $(IS_CLANG) \| $(CPP_MAJOR) \>= 4)" "1"
CFLAGS += $(C_GCC4_FLAGS)
CPPFLAGS += $(CPP_GCC4_FLAGS)
endif
# Clang >= 3 || GCC >= 4.7
ifeq "$(shell expr $(IS_CLANG) \& $(CPP_MAJOR) \>= 3 \| $(CPP_MAJOR) \>= 4 \& $(CPP_MINOR) \>= 7)" "1"
CFLAGS += -Wno-delete-non-virtual-dtor
endif
# OS is Linux and not using clang
ifeq "$(shell expr $(OS) \= Linux \& $(IS_CLANG) \= 0)" "1"
LINK += -static-libgcc
endif
OBJ_BIN := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)
# This will break if we include other Makefiles, but is fine for now. It allows

View File

@ -35,6 +35,7 @@ C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3
C_GCC4_FLAGS = -fvisibility=hidden
CPP_GCC4_FLAGS = -fvisibility-inlines-hidden
CPP = gcc
CPP_OSX = clang
##########################
### SDK CONFIGURATIONS ###
@ -129,7 +130,7 @@ LINK += -m32 -lm -ldl
CFLAGS += -DPOSIX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \
-D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -DCOMPILER_GCC -Wall -Werror \
-Wno-switch -Wno-unused -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32
-Wno-overloaded-virtual -Wno-switch -Wno-unused -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32
CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti
################################################
@ -151,8 +152,9 @@ ifeq "$(USEMETA)" "true"
endif
ifeq "$(OS)" "Darwin"
CPP = $(CPP_OSX)
LIB_EXT = dylib
CFLAGS += -isysroot /Developer/SDKs/MacOSX10.5.sdk
CFLAGS += -DOSX -D_OSX
LINK += -dynamiclib -lstdc++ -mmacosx-version-min=10.5
else
LIB_EXT = so
@ -160,12 +162,37 @@ else
LINK += -shared
endif
GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1)
ifeq "$(GCC_VERSION)" "4"
IS_CLANG := $(shell $(CPP) --version | head -1 | grep clang > /dev/null && echo "1" || echo "0")
ifeq "$(IS_CLANG)" "1"
CPP_MAJOR := $(shell $(CPP) --version | grep clang | sed "s/.*version \([0-9]\)*\.[0-9]*.*/\1/")
CPP_MINOR := $(shell $(CPP) --version | grep clang | sed "s/.*version [0-9]*\.\([0-9]\)*.*/\1/")
else
CPP_MAJOR := $(shell $(CPP) -dumpversion >&1 | cut -b1)
CPP_MINOR := $(shell $(CPP) -dumpversion >&1 | cut -b3)
endif
# If not clang
ifeq "$(IS_CLANG)" "0"
CFLAGS += -mfpmath=sse
endif
# Clang || GCC >= 4
ifeq "$(shell expr $(IS_CLANG) \| $(CPP_MAJOR) \>= 4)" "1"
CFLAGS += $(C_GCC4_FLAGS)
CPPFLAGS += $(CPP_GCC4_FLAGS)
endif
# Clang >= 3 || GCC >= 4.7
ifeq "$(shell expr $(IS_CLANG) \& $(CPP_MAJOR) \>= 3 \| $(CPP_MAJOR) \>= 4 \& $(CPP_MINOR) \>= 7)" "1"
CFLAGS += -Wno-delete-non-virtual-dtor
endif
# OS is Linux and not using clang
ifeq "$(shell expr $(OS) \= Linux \& $(IS_CLANG) \= 0)" "1"
LINK += -static-libgcc
endif
OBJ_BIN := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)
# This will break if we include other Makefiles, but is fine for now. It allows

View File

@ -41,10 +41,17 @@
#if defined SM_GENERATED_BUILD
#include <sourcemod_version_auto.h>
#else
#define SM_BUILD_STRING "-pdev"
#define SM_BUILD_UNIQUEID "2650:5d34bc3edbfa" SM_BUILD_STRING
#define SM_FULL_VERSION "1.3.0" SM_BUILD_STRING
#define SM_FILE_VERSION 1,3,0,0
#define SM_BUILD_TAG "manual"
#define SM_BUILD_REV "0"
#define SM_BUILD_CSET "0"
#define SM_BUILD_MAJOR "1"
#define SM_BUILD_MINOR "5"
#define SM_BUILD_RELEASE "0"
#define SM_BUILD_UNIQUEID SM_BUILD_REV ":" SM_BUILD_CSET
#define SM_VERSION_STRING SM_BUILD_MAJOR "." SM_BUILD_MINOR "." SM_BUILD_RELEASE "-" SM_BUILD_TAG
#define SM_VERSION_FILE 1,5,0,0
#endif
#define SM_BUILD_TIMESTAMP __DATE__ " " __TIME__

View File

@ -61,8 +61,11 @@ if AMBuild.target['platform'] == 'linux':
binary.AddSourceFiles('sourcepawn/compiler', files)
if AMBuild.target['platform'] == 'windows':
env = {'RCDEFINES': ['BINARY_NAME="' + binary.binaryFile + '"']}
env = {'RCDEFINES': ['BINARY_NAME="' + binary.binaryFile + '"', 'SM_GENERATED_BUILD']}
binary.AddResourceFile('sourcepawn/compiler/libpawnc.rc', env)
elif AMBuild.target['platform'] == 'darwin' and isinstance(binary, Cpp.LibraryBuilder):
binary.compiler['POSTLINKFLAGS'].extend(['-compatibility_version', '1.0.0'])
binary.compiler['POSTLINKFLAGS'].extend(['-current_version', AMBuild.cache['version']])
binary.SendToJob()

View File

@ -19,8 +19,8 @@ AppIcon ICON "pawn.ico"
#define VERSIONPRODUCTNAME "smcomp\0"
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x0000003FL
FILEFLAGS 0
#if defined(WIN32)
@ -36,12 +36,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "(C)1998-2006 ITB CompuPhase, AlliedModders LLC\0"
VALUE "FileDescription", VERSIONDESCRIPTION
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", VERSIONNAME
VALUE "LegalCopyright", "(C)1998-2006 ITB CompuPhase, AlliedModders LLC\0"
VALUE "OriginalFilename", VERSIONNAME
VALUE "ProductName", VERSIONPRODUCTNAME
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END

View File

@ -1233,7 +1233,7 @@ static void setconfig(char *root)
static void setcaption(void)
{
pc_printf("SourcePawn Compiler " SM_FULL_VERSION "\n");
pc_printf("SourcePawn Compiler " SM_VERSION_STRING "\n");
pc_printf("Copyright (c) 1997-2006, ITB CompuPhase, (C)2004-2008 AlliedModders, LLC\n\n");
}

View File

@ -149,7 +149,7 @@ const char *SourcePawnEngine2::GetEngineName()
const char *SourcePawnEngine2::GetVersionString()
{
return SM_FULL_VERSION;
return SM_VERSION_STRING;
}
IProfiler *SourcePawnEngine2::GetProfiler()

View File

@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION SM_FILE_VERSION
PRODUCTVERSION SM_FILE_VERSION
FILEVERSION SM_VERSION_FILE
PRODUCTVERSION SM_VERSION_FILE
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -46,12 +46,12 @@ BEGIN
BEGIN
VALUE "Comments", "SourcePawn JIT"
VALUE "FileDescription", "SourcePawn JIT/Virtual Machine"
VALUE "FileVersion", SM_FULL_VERSION
VALUE "FileVersion", SM_VERSION_STRING
VALUE "InternalName", "sourcemod"
VALUE "LegalCopyright", "Copyright (c) 2004-2008, AlliedModders LLC"
VALUE "OriginalFilename", "sourcepawn.jit.x86.dll"
VALUE "ProductName", "SourcePawn JIT"
VALUE "ProductVersion", SM_FULL_VERSION
VALUE "ProductVersion", SM_VERSION_STRING
END
END
BLOCK "VarFileInfo"

View File

@ -228,8 +228,7 @@ AddNormalLibrary('dbi.mysql.ext', 'extensions')
AddNormalLibrary('dbi.sqlite.ext', 'extensions')
AddNormalLibrary('game.cstrike.ext.2.css', 'extensions')
if AMBuild.target['platform'] != 'darwin':
AddNormalLibrary('game.cstrike.ext.2.csgo', 'extensions')
AddNormalLibrary('game.cstrike.ext.2.csgo', 'extensions')
AddNormalLibrary('game.tf2.ext.2.ep2v', 'extensions')
AddNormalLibrary('topmenus.ext', 'extensions')

View File

@ -27,11 +27,17 @@ def PerformReversioning():
productFile = open(os.path.join(AMBuild.sourceFolder, 'product.version'), 'r')
productContents = productFile.read()
productFile.close()
m = re.match('(\d+)\.(\d+)\.(\d+)(.*)', productContents)
m = re.match('(\d+)\.(\d+)\.(\d+)-?(.*)', productContents)
if m == None:
raise Exception('Could not detremine product version')
major, minor, release, tag = m.groups()
fullstring = "{0}.{1}.{2}".format(major, minor, release)
if tag != "":
fullstring += "-{0}".format(tag)
if tag == "dev":
fullstring += "+{0}".format(rev)
incFolder = os.path.join(AMBuild.outputFolder, 'includes')
if not os.path.isdir(incFolder):
os.makedirs(incFolder)
@ -40,14 +46,40 @@ def PerformReversioning():
#ifndef _SOURCEMOD_AUTO_VERSION_INFORMATION_H_
#define _SOURCEMOD_AUTO_VERSION_INFORMATION_H_
#define SM_BUILD_STRING \"{0}\"
#define SM_BUILD_UNIQUEID \"{1}:{2}\" SM_BUILD_STRING
#define SM_FULL_VERSION \"{3}.{4}.{5}\" SM_BUILD_STRING
#define SM_FILE_VERSION {6},{7},{8},0
#define SM_BUILD_TAG \"{0}\"
#define SM_BUILD_REV \"{1}\"
#define SM_BUILD_CSET \"{2}\"
#define SM_BUILD_MAJOR \"{3}\"
#define SM_BUILD_MINOR \"{4}\"
#define SM_BUILD_RELEASE \"{5}\"
#define SM_BUILD_UNIQUEID SM_BUILD_REV \":\" SM_BUILD_CSET
#define SM_VERSION_STRING \"{6}\"
#define SM_VERSION_FILE {7},{8},{9},0
#endif /* _SOURCEMOD_AUTO_VERSION_INFORMATION_H_ */
""".format(tag, rev, cset, major, minor, release, major, minor, release))
""".format(tag, rev, cset, major, minor, release, fullstring, major, minor, release))
incFile.close()
incFile = open(os.path.join(incFolder, 'version_auto.inc'), 'w')
incFile.write("""
#if defined _auto_version_included
#endinput
#endif
#define _auto_version_included
#define SOURCEMOD_V_TAG \"{0}\"
#define SOURCEMOD_V_REV {1}
#define SOURCEMOD_V_CSET \"{2}\"
#define SOURCEMOD_V_MAJOR {3}
#define SOURCEMOD_V_MINOR {4}
#define SOURCEMOD_V_RELEASE {5}
#define SOURCEMOD_VERSION \"{6}\"
""".format(tag, rev, cset, major, minor, release, fullstring))
incFile.close()
cache.WriteCache()