diff options
-rw-r--r-- | StormLib_vs19.bat | 44 | ||||
-rw-r--r-- | make-msvc.bat | 58 | ||||
-rw-r--r-- | src/SBaseFileTable.cpp | 2 | ||||
-rw-r--r-- | test/StormTest.cpp | 28 | ||||
-rw-r--r-- | test/TLogHelper.cpp | 2 |
5 files changed, 74 insertions, 60 deletions
diff --git a/StormLib_vs19.bat b/StormLib_vs19.bat deleted file mode 100644 index 6052b52..0000000 --- a/StormLib_vs19.bat +++ /dev/null @@ -1,44 +0,0 @@ -@echo off -rem Build file for VS 2017 (expected in %ProgramFiles%\Microsoft Visual Studio\2017) - -rem Save the values of INCLUDE, LIB and PATH -set SAVE_INCLUDE=%INCLUDE% -set SAVE_LIB=%LIB% -set SAVE_PATH=%PATH% - -rem Determine where the program files are, both for 64-bit and 32-bit Windows -if exist "%ProgramFiles%" set PROGRAM_FILES_DIR=%ProgramFiles% -if exist "%ProgramFiles(x86)%" set PROGRAM_FILES_DIR=%ProgramFiles(x86)% - -rem Determine the installed version of Visual Studio (Professional/Enterprise) -if exist "%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat" set VCVARS_BAT=%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat -if exist "%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" set VCVARS_BAT=%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat - -:BUILD_32BIT -call "%VCVARS_BAT%" x86 -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugAD|Win32" -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugAS|Win32" -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugUD|Win32" -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugUS|Win32" -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseAD|Win32" -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseAS|Win32" -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseUD|Win32" -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseUS|Win32" -call :RestoreEnvVars - -:BUILD_64BIT -call "%VCVARS_BAT%" x64 -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugAD|x64" -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugAS|x64" -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugUD|x64" -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugUS|x64" -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseAD|x64" -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseAS|x64" -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseUD|x64" -devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseUS|x64" -call :RestoreEnvVars - -:RestoreEnvVars -set INCLUDE=%SAVE_INCLUDE% -set LIB=%SAVE_LIB% -set PATH=%SAVE_PATH% diff --git a/make-msvc.bat b/make-msvc.bat new file mode 100644 index 0000000..3dc3ba4 --- /dev/null +++ b/make-msvc.bat @@ -0,0 +1,58 @@ +:: Build file for Visual Studio 2008 and 2017 +@echo off + +:: Save the values of INCLUDE, LIB and PATH +set SAVE_INCLUDE=%INCLUDE% +set SAVE_LIB=%LIB% +set SAVE_PATH=%PATH% +set LIB_NAME=StormLib + +:: Determine where the program files are, both for 64-bit and 32-bit Windows +if exist "%ProgramFiles%" set PROGRAM_FILES_DIR=%ProgramFiles% +if exist "%ProgramFiles(x86)%" set PROGRAM_FILES_DIR=%ProgramFiles(x86)% + +:: Determine the installed version of Visual Studio (Prioritize Enterprise over Professional) +if exist "%PROGRAM_FILES_DIR%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" set VCVARS_2008=%PROGRAM_FILES_DIR%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat +if exist "%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat" set VCVARS_2017=%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat +if exist "%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" set VCVARS_2017=%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat +if exist "%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" set VCVARS_2019=%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat +if exist "%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" set VCVARS_2019=%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat + +::Build all libraries using Visual Studio 2008 and 2017 +call :BuildStormLib "%VCVARS_2008%" x86 StormLib_vs08.sln +call :BuildStormLib "%VCVARS_2008%" x64 StormLib_vs08.sln +call :BuildStormLib "%VCVARS_2019%" x86 StormLib_vs19.sln +call :BuildStormLib "%VCVARS_2019%" x64 StormLib_vs19.sln +goto:eof + +::----------------------------------------------------------------------------- +:: Build all 8 configurations of the library +:: +:: Parameters: +:: +:: %1 Full path to the VCVARS.BAT file +:: %2 Target build platform (x86 or x64) +:: %3 Plain name of the solution file (for example "StormLib_vs19.sln") +:: + +:BuildStormLib +::set VSCMD_DEBUG=1 +call %1 %2 +if "%2" == "x86" set SLN_TRG=Win32 +if "%2" == "x64" set SLN_TRG=x64 +devenv.com %3 /project "%LIB_NAME%" /rebuild "DebugAD|%SLN_TRG%" +devenv.com %3 /project "%LIB_NAME%" /rebuild "DebugAS|%SLN_TRG%" +devenv.com %3 /project "%LIB_NAME%" /rebuild "DebugUD|%SLN_TRG%" +devenv.com %3 /project "%LIB_NAME%" /rebuild "DebugUS|%SLN_TRG%" +devenv.com %3 /project "%LIB_NAME%" /rebuild "ReleaseAD|%SLN_TRG%" +devenv.com %3 /project "%LIB_NAME%" /rebuild "ReleaseAS|%SLN_TRG%" +devenv.com %3 /project "%LIB_NAME%" /rebuild "ReleaseUD|%SLN_TRG%" +devenv.com %3 /project "%LIB_NAME%" /rebuild "ReleaseUS|%SLN_TRG%" + +:: Restore environment variables to the old level +set INCLUDE=%SAVE_INCLUDE% +set LIB=%SAVE_LIB% +set PATH=%SAVE_PATH% +set VSINSTALLDIR= +set VCINSTALLDIR= +set DevEnvDir= diff --git a/src/SBaseFileTable.cpp b/src/SBaseFileTable.cpp index 4448289..e08daef 100644 --- a/src/SBaseFileTable.cpp +++ b/src/SBaseFileTable.cpp @@ -66,7 +66,7 @@ struct TStormBits void GetBits(unsigned int nBitPosition, unsigned int nBitLength, void * pvBuffer, int nResultSize);
void SetBits(unsigned int nBitPosition, unsigned int nBitLength, void * pvBuffer, int nResultSize);
- static const USHORT SetBitsMask[];
+ static const USHORT SetBitsMask[]; // Bit mask for each number of bits (0-8)
DWORD NumberOfBytes; // Total number of bytes in "Elements"
DWORD NumberOfBits; // Total number of bits that are available
diff --git a/test/StormTest.cpp b/test/StormTest.cpp index c0fbe44..bb55eb8 100644 --- a/test/StormTest.cpp +++ b/test/StormTest.cpp @@ -28,7 +28,7 @@ #pragma comment(lib, "winmm.lib")
#endif
-#ifndef PLATFORM_WINDOWS
+#ifndef STORMLIB_WINDOWS
#include <dirent.h>
#endif
@@ -47,22 +47,22 @@ typedef struct _TEST_INFO //------------------------------------------------------------------------------
// Local variables
-#ifdef PLATFORM_WINDOWS
+#ifdef STORMLIB_WINDOWS
#define WORK_PATH_ROOT _T("\\Multimedia\\MPQs")
static const TCHAR szListFileDir[] = { '1', '9', '9', '5', ' ', '-', ' ', 'T', 'e', 's', 't', ' ', 'M', 'P', 'Q', 's', '\\', 'l', 'i', 's', 't', 'f', 'i', 'l', 'e', 's', '-', (TCHAR)0x65B0, (TCHAR)0x5EFA, (TCHAR)0x6587, (TCHAR)0x4EF6, (TCHAR)0x5939, 0 };
#endif
-#ifdef PLATFORM_LINUX
+#ifdef STORMLIB_LINUX
#define WORK_PATH_ROOT "/home/ladik/StormLib/test"
static const TCHAR szListFileDir[] = { '1', '9', '9', '5', ' ', '-', ' ', 'T', 'e', 's', 't', ' ', 'M', 'P', 'Q', 's', '\\', 'l', 'i', 's', 't', 'f', 'i', 'l', 'e', 's', '-', (TCHAR)0xe6, (TCHAR)0x96, (TCHAR)0xB0, (TCHAR)0xE5, (TCHAR)0xBB, (TCHAR)0xBA, (TCHAR)0xE6, (TCHAR)0x96, (TCHAR)0x87, (TCHAR)0xE4, (TCHAR)0xBB, (TCHAR)0xB6, (TCHAR)0xE5, (TCHAR)0xA4, (TCHAR)0xB9, 0 };
#endif
-#ifdef PLATFORM_MAC
+#ifdef STORMLIB_MAC
#define WORK_PATH_ROOT "/home/sam/StormLib/test"
static const TCHAR szListFileDir[] = { '1', '9', '9', '5', ' ', '-', ' ', 'T', 'e', 's', 't', ' ', 'M', 'P', 'Q', 's', '\\', 'l', 'i', 's', 't', 'f', 'i', 'l', 'e', 's', '-', (TCHAR)0xe6, (TCHAR)0x96, (TCHAR)0xB0, (TCHAR)0xE5, (TCHAR)0xBB, (TCHAR)0xBA, (TCHAR)0xE6, (TCHAR)0x96, (TCHAR)0x87, (TCHAR)0xE4, (TCHAR)0xBB, (TCHAR)0xB6, (TCHAR)0xE5, (TCHAR)0xA4, (TCHAR)0xB9, 0 };
#endif
-#ifdef PLATFORM_HAIKU
+#ifdef STORMLIB_HAIKU
#define WORK_PATH_ROOT "~/StormLib/test"
static const TCHAR szListFileDir[] = { '1', '9', '9', '5', ' ', '-', ' ', 'T', 'e', 's', 't', ' ', 'M', 'P', 'Q', 's', '\\', 'l', 'i', 's', 't', 'f', 'i', 'l', 'e', 's', '-', (TCHAR)0xe6, (TCHAR)0x96, (TCHAR)0xB0, (TCHAR)0xE5, (TCHAR)0xBB, (TCHAR)0xBA, (TCHAR)0xE6, (TCHAR)0x96, (TCHAR)0x87, (TCHAR)0xE4, (TCHAR)0xBB, (TCHAR)0xB6, (TCHAR)0xE5, (TCHAR)0xA4, (TCHAR)0xB9, 0 };
#endif
@@ -280,7 +280,7 @@ static LPCTSTR PatchList_HS_6898_enGB[] = // Local file functions
// Definition of the path separator
-#ifdef PLATFORM_WINDOWS
+#ifdef STORMLIB_WINDOWS
static LPCTSTR g_szPathSeparator = _T("\\");
static const TCHAR PATH_SEPARATOR = _T('\\'); // Path separator for Windows platforms
#else
@@ -296,7 +296,7 @@ size_t cchMpqDirectory = 0; template <typename XCHAR>
static bool IsFullPath(const XCHAR * szFileName)
{
-#ifdef PLATFORM_WINDOWS
+#ifdef STORMLIB_WINDOWS
if(('A' <= szFileName[0] && szFileName[0] <= 'Z') || ('a' <= szFileName[0] && szFileName[0] <= 'z'))
{
return (szFileName[1] == ':' && szFileName[2] == PATH_SEPARATOR);
@@ -715,7 +715,7 @@ static int CalculateFileSha1(TLogHelper * pLogger, LPCTSTR szFullPath, TCHAR * s static HANDLE InitDirectorySearch(LPCTSTR szDirectory)
{
-#ifdef PLATFORM_WINDOWS
+#ifdef STORMLIB_WINDOWS
WIN32_FIND_DATA wf;
HANDLE hFind;
@@ -730,7 +730,7 @@ static HANDLE InitDirectorySearch(LPCTSTR szDirectory) #endif
-#if defined(PLATFORM_LINUX) || defined(PLATFORM_HAIKU)
+#if defined(STORMLIB_LINUX) || defined(STORMLIB_HAIKU)
// Keep compilers happy
return (HANDLE)opendir(szDirectory);
@@ -740,7 +740,7 @@ static HANDLE InitDirectorySearch(LPCTSTR szDirectory) static bool SearchDirectory(HANDLE hFind, TCHAR * szDirEntry, size_t cchDirEntry, bool & IsDirectory)
{
-#ifdef PLATFORM_WINDOWS
+#ifdef STORMLIB_WINDOWS
WIN32_FIND_DATA wf;
TCHAR szDirEntryT[MAX_PATH];
@@ -765,7 +765,7 @@ static bool SearchDirectory(HANDLE hFind, TCHAR * szDirEntry, size_t cchDirEntry #endif
-#if defined(PLATFORM_LINUX) || defined(PLATFORM_HAIKU)
+#if defined(STORMLIB_LINUX) || defined(STORMLIB_HAIKU)
struct dirent * directory_entry;
@@ -784,11 +784,11 @@ static bool SearchDirectory(HANDLE hFind, TCHAR * szDirEntry, size_t cchDirEntry static void FreeDirectorySearch(HANDLE hFind)
{
-#ifdef PLATFORM_WINDOWS
+#ifdef STORMLIB_WINDOWS
FindClose(hFind);
#endif
-#if defined(PLATFORM_LINUX) || defined(PLATFORM_HAIKU)
+#if defined(STORMLIB_LINUX) || defined(STORMLIB_HAIKU)
closedir((DIR *)hFind);
#endif
}
@@ -2225,7 +2225,7 @@ static int TestReadFile_MasterMirror(LPCTSTR szMirrorName, LPCTSTR szMasterName, // Retrieve the provider
FileStream_Prefix(szMasterName, &dwProvider);
-#ifndef PLATFORM_WINDOWS
+#ifndef STORMLIB_WINDOWS
if((dwProvider & BASE_PROVIDER_MASK) == BASE_PROVIDER_HTTP)
return ERROR_SUCCESS;
#endif
diff --git a/test/TLogHelper.cpp b/test/TLogHelper.cpp index 64cc815..9bf4f6d 100644 --- a/test/TLogHelper.cpp +++ b/test/TLogHelper.cpp @@ -425,7 +425,7 @@ char * TLogHelper::CopyFormatCharacter(char * szBuffer, const char *& szFormat) int TLogHelper::GetConsoleWidth()
{
-#ifdef PLATFORM_WINDOWS
+#ifdef STORMLIB_WINDOWS
CONSOLE_SCREEN_BUFFER_INFO ScreenInfo;
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &ScreenInfo);
|