summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Premake5.lua132
-rw-r--r--stormlib_dll/DllMain.c2
2 files changed, 133 insertions, 1 deletions
diff --git a/Premake5.lua b/Premake5.lua
new file mode 100644
index 0000000..8805a62
--- /dev/null
+++ b/Premake5.lua
@@ -0,0 +1,132 @@
+
+solution 'StormLib'
+ location 'build'
+ language 'C++'
+ configurations { 'Debug', 'Release', }
+ platforms { 'x32', 'x64' }
+
+ targetdir 'bin'
+ objdir 'bin'
+
+ files {
+ 'src/**.h',
+ 'src/**.c',
+ 'src/**.cpp',
+ 'doc/*.txt',
+ }
+
+ removefiles {
+ 'src/adpcm/*_old.*',
+ 'src/huffman/*_old.*',
+ 'src/huffman/huff_patch.*',
+ 'src/pklib/crc32.c',
+ 'src/zlib/compress.c',
+ }
+
+ filter 'configurations:Debug*'
+ flags { 'Symbols' }
+ defines { '_DEBUG' }
+ optimize 'Debug'
+
+ filter 'configurations:Release*'
+ defines { 'NDEBUG' }
+ optimize 'Full'
+
+ filter 'system:windows'
+ links { 'wininet', }
+ defines { 'WINDOWS', '_WINDOWS' }
+
+ filter { 'system:windows', 'platforms:x32' }
+ defines { 'WIN32', '_WIN32' }
+
+ filter { 'system:windows', 'platforms:x64' }
+ defines { 'WIN64', '_WIN64' }
+
+ filter 'system:linux'
+ defines { '_7ZIP_ST', 'BZ_STRICT_ANSI' }
+ removefiles {
+ 'src/lzma/C/LzFindMt.*',
+ 'src/lzma/C/Threads.*',
+ }
+
+--------------------------------------------------------------------------------
+
+project 'StormLib'
+ kind 'StaticLib'
+
+ removefiles 'src/SBaseDumpData.cpp'
+
+ configurations {
+ 'DebugAD', -- Debug Ansi Dynamic
+ 'DebugAS', -- Debug Ansi Static
+ 'DebugUD', -- Debug Unicode Dynamic
+ 'DebugUS', -- Debug Unicode Static
+ 'ReleaseAD', -- Release Ansi Dynamic
+ 'ReleaseAS', -- Release Ansi Static
+ 'ReleaseUD', -- Release Unicode Dynamic'
+ 'ReleaseUS', -- Release Unicode Static
+ }
+
+ configmap {
+ ['Debug'] = 'DebugUS',
+ ['Release'] = 'ReleaseUS',
+ }
+
+ filter 'configurations:*S'
+ flags { 'StaticRuntime' }
+
+ filter { 'configurations:*U*', 'action:vs*' }
+ flags { 'Unicode' }
+
+ filter { 'configurations:*U*', 'not action:vs*' }
+ defines { 'UNICODE', '_UNICODE' }
+
+ filter 'DebugAD'
+ targetsuffix 'DAD'
+ filter 'ReleaseAD'
+ targetsuffix 'RAD'
+ filter 'DebugAS'
+ targetsuffix 'DAS'
+ filter 'ReleaseAS'
+ targetsuffix 'RAS'
+ filter 'DebugUD'
+ targetsuffix 'DUD'
+ filter 'ReleaseUD'
+ targetsuffix 'RUD'
+ filter 'DebugUS'
+ targetsuffix 'DUS'
+ filter 'ReleaseUS'
+ targetsuffix 'RUS'
+
+--------------------------------------------------------------------------------
+
+project 'StormLib_dll'
+ kind 'SharedLib'
+
+ targetname 'Stormlib'
+
+ files {
+ 'stormlib_dll/DllMain.c',
+ 'stormlib_dll/StormLib.def',
+ }
+
+ removefiles 'src/SBaseDumpData.cpp'
+
+ filter { 'system:windows', 'action:gmake' }
+ linkoptions {
+ '-Xlinker --enable-stdcall-fixup',
+ '../stormlib_dll/StormLib.def',
+ }
+
+ filter 'Debug'
+ targetsuffix '_d'
+
+--------------------------------------------------------------------------------
+
+project 'StormLib_test'
+ kind 'ConsoleApp'
+
+ files {
+ 'test/StormTest.cpp',
+ }
+
diff --git a/stormlib_dll/DllMain.c b/stormlib_dll/DllMain.c
index f1b9167..98eb003 100644
--- a/stormlib_dll/DllMain.c
+++ b/stormlib_dll/DllMain.c
@@ -20,5 +20,5 @@ BOOL WINAPI DllMain(HINSTANCE hInst, DWORD dwReason, LPVOID lpReserved)
UNREFERENCED_PARAMETER(dwReason);
UNREFERENCED_PARAMETER(lpReserved);
- return TRUE;
+ return TRUE;
}