1 -- A solution contains projects, and defines the available configurations 2 solution "brotli" 3 configurations { "Release", "Debug" } 4 platforms { "x64", "x86" } 5 targetdir "bin" 6 location "buildfiles" 7 flags "RelativeLinks" 8 includedirs { "c/include" } 9 10 filter "configurations:Release" 11 optimize "Speed" 12 flags { "StaticRuntime" } 13 14 filter "configurations:Debug" 15 flags { "Symbols" } 16 17 filter { "platforms:x64" } 18 architecture "x86_64" 19 20 filter { "platforms:x86" } 21 architecture "x86" 22 23 configuration { "gmake" } 24 buildoptions { "-Wall -fno-omit-frame-pointer" } 25 location "buildfiles/gmake" 26 27 configuration { "xcode4" } 28 location "buildfiles/xcode4" 29 30 configuration "linux" 31 links "m" 32 33 configuration { "macosx" } 34 defines { "OS_MACOSX" } 35 36 project "brotlicommon" 37 kind "SharedLib" 38 language "C" 39 files { "c/common/**.h", "c/common/**.c" } 40 41 project "brotlicommon_static" 42 kind "StaticLib" 43 targetname "brotlicommon" 44 language "C" 45 files { "c/common/**.h", "c/common/**.c" } 46 47 project "brotlidec" 48 kind "SharedLib" 49 language "C" 50 files { "c/dec/**.h", "c/dec/**.c" } 51 links "brotlicommon" 52 53 project "brotlidec_static" 54 kind "StaticLib" 55 targetname "brotlidec" 56 language "C" 57 files { "c/dec/**.h", "c/dec/**.c" } 58 links "brotlicommon_static" 59 60 project "brotlienc" 61 kind "SharedLib" 62 language "C" 63 files { "c/enc/**.h", "c/enc/**.c" } 64 links "brotlicommon" 65 66 project "brotlienc_static" 67 kind "StaticLib" 68 targetname "brotlienc" 69 language "C" 70 files { "c/enc/**.h", "c/enc/**.c" } 71 links "brotlicommon_static" 72 73 project "brotli" 74 kind "ConsoleApp" 75 language "C" 76 linkoptions "-static" 77 files { "c/tools/brotli.c" } 78 links { "brotlicommon_static", "brotlidec_static", "brotlienc_static" } 79