blob: 555263e008d2d3594e7a68cc03539bc28d76d550 [file] [log] [blame]
Eugene Kliuchnikov378485b2016-06-16 10:52:57 +02001-- A solution contains projects, and defines the available configurations
2solution "brotli"
3configurations { "Release", "Debug" }
Reza Tavakoli5aabc7a2017-07-10 22:27:05 +04304platforms { "x64", "x86" }
Eugene Kliuchnikov378485b2016-06-16 10:52:57 +02005targetdir "bin"
Eugene Kliuchnikovb32cefe2016-06-17 16:24:51 +02006location "buildfiles"
Eugene Kliuchnikov378485b2016-06-16 10:52:57 +02007flags "RelativeLinks"
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +02008includedirs { "c/include" }
Eugene Kliuchnikov378485b2016-06-16 10:52:57 +02009
10filter "configurations:Release"
11 optimize "Speed"
12 flags { "StaticRuntime" }
13
14filter "configurations:Debug"
15 flags { "Symbols" }
16
Reza Tavakoli5aabc7a2017-07-10 22:27:05 +043017filter { "platforms:x64" }
18 architecture "x86_64"
19
20filter { "platforms:x86" }
21 architecture "x86"
22
Eugene Kliuchnikov378485b2016-06-16 10:52:57 +020023configuration { "gmake" }
24 buildoptions { "-Wall -fno-omit-frame-pointer" }
Eugene Kliuchnikovb32cefe2016-06-17 16:24:51 +020025 location "buildfiles/gmake"
26
Eugene Kliuchnikov6a078b12016-06-20 17:20:17 +020027configuration { "xcode4" }
28 location "buildfiles/xcode4"
29
Eugene Kliuchnikovb32cefe2016-06-17 16:24:51 +020030configuration "linux"
31 links "m"
Eugene Kliuchnikov378485b2016-06-16 10:52:57 +020032
33configuration { "macosx" }
Evgenii Kliuchnikov52ff8172016-06-24 15:32:51 +020034 defines { "OS_MACOSX" }
Eugene Kliuchnikov378485b2016-06-16 10:52:57 +020035
Frédéric Wanged2748a2016-10-12 18:23:34 +020036project "brotlicommon"
Eugene Kliuchnikov6a078b12016-06-20 17:20:17 +020037 kind "SharedLib"
Eugene Kliuchnikov378485b2016-06-16 10:52:57 +020038 language "C"
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +020039 files { "c/common/**.h", "c/common/**.c" }
Eugene Kliuchnikov378485b2016-06-16 10:52:57 +020040
Frédéric Wanged2748a2016-10-12 18:23:34 +020041project "brotlicommon_static"
Evgenii Kliuchnikov52ff8172016-06-24 15:32:51 +020042 kind "StaticLib"
Frédéric Wanged2748a2016-10-12 18:23:34 +020043 targetname "brotlicommon"
Evgenii Kliuchnikov52ff8172016-06-24 15:32:51 +020044 language "C"
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +020045 files { "c/common/**.h", "c/common/**.c" }
Evgenii Kliuchnikov52ff8172016-06-24 15:32:51 +020046
Frédéric Wanged2748a2016-10-12 18:23:34 +020047project "brotlidec"
Eugene Kliuchnikov6a078b12016-06-20 17:20:17 +020048 kind "SharedLib"
Eugene Kliuchnikov378485b2016-06-16 10:52:57 +020049 language "C"
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +020050 files { "c/dec/**.h", "c/dec/**.c" }
Frédéric Wanged2748a2016-10-12 18:23:34 +020051 links "brotlicommon"
Eugene Kliuchnikov378485b2016-06-16 10:52:57 +020052
Frédéric Wanged2748a2016-10-12 18:23:34 +020053project "brotlidec_static"
Evgenii Kliuchnikov52ff8172016-06-24 15:32:51 +020054 kind "StaticLib"
Frédéric Wanged2748a2016-10-12 18:23:34 +020055 targetname "brotlidec"
Evgenii Kliuchnikov52ff8172016-06-24 15:32:51 +020056 language "C"
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +020057 files { "c/dec/**.h", "c/dec/**.c" }
Frédéric Wanged2748a2016-10-12 18:23:34 +020058 links "brotlicommon_static"
Evgenii Kliuchnikov52ff8172016-06-24 15:32:51 +020059
Frédéric Wanged2748a2016-10-12 18:23:34 +020060project "brotlienc"
Eugene Kliuchnikov6a078b12016-06-20 17:20:17 +020061 kind "SharedLib"
Eugene Kliuchnikov378485b2016-06-16 10:52:57 +020062 language "C"
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +020063 files { "c/enc/**.h", "c/enc/**.c" }
Frédéric Wanged2748a2016-10-12 18:23:34 +020064 links "brotlicommon"
Eugene Kliuchnikov378485b2016-06-16 10:52:57 +020065
Frédéric Wanged2748a2016-10-12 18:23:34 +020066project "brotlienc_static"
Eugene Kliuchnikov6a078b12016-06-20 17:20:17 +020067 kind "StaticLib"
Frédéric Wanged2748a2016-10-12 18:23:34 +020068 targetname "brotlienc"
Eugene Kliuchnikov6a078b12016-06-20 17:20:17 +020069 language "C"
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +020070 files { "c/enc/**.h", "c/enc/**.c" }
Frédéric Wanged2748a2016-10-12 18:23:34 +020071 links "brotlicommon_static"
Eugene Kliuchnikov6a078b12016-06-20 17:20:17 +020072
Eugene Kliuchnikov03739d22017-05-29 17:55:14 +020073project "brotli"
Eugene Kliuchnikov378485b2016-06-16 10:52:57 +020074 kind "ConsoleApp"
Eugene Kliuchnikovb32cefe2016-06-17 16:24:51 +020075 language "C"
Evgenii Kliuchnikov52ff8172016-06-24 15:32:51 +020076 linkoptions "-static"
Eugene Kliuchnikov03739d22017-05-29 17:55:14 +020077 files { "c/tools/brotli.c" }
Frédéric Wanged2748a2016-10-12 18:23:34 +020078 links { "brotlicommon_static", "brotlidec_static", "brotlienc_static" }