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', }