about summary refs log tree commit diff
path: root/bam.lua
diff options
context:
space:
mode:
Diffstat (limited to 'bam.lua')
-rw-r--r--bam.lua14
1 files changed, 11 insertions, 3 deletions
diff --git a/bam.lua b/bam.lua
index 4e70af36..1f6b63f4 100644
--- a/bam.lua
+++ b/bam.lua
@@ -14,6 +14,7 @@ config:Add(OptTestCompileC("macosxppc", "int main(){return 0;}", "-arch ppc"))
 config:Add(OptLibrary("zlib", "zlib.h", false))
 config:Add(SDL.OptFind("sdl", true))
 config:Add(FreeType.OptFind("freetype", true))
+config:Add(OptString("websockets", false))
 config:Finalize("config.lua")
 
 -- data compiler
@@ -160,6 +161,9 @@ function build(settings)
 	if ldflags then
 		settings.link.flags:Add(ldflags)
 	end
+	if config.websockets.value then
+		settings.cc.defines:Add("WEBSOCKETS")
+	end
 
 	if config.compiler.driver == "cl" then
 		settings.cc.flags:Add("/wd4244")
@@ -225,6 +229,10 @@ function build(settings)
 	pnglite = Compile(settings, Collect("src/engine/external/pnglite/*.c"))
 	jsonparser = Compile(settings, Collect("src/engine/external/json-parser/*.c"))
 
+	if config.websockets.value then
+		libwebsockets = Compile(settings, Collect("src/engine/external/libwebsockets/*.c"))
+	end
+
 	-- build game components
 	engine_settings = settings:Copy()
 	server_settings = engine_settings:Copy()
@@ -310,10 +318,10 @@ function build(settings)
 	-- build client, server, version server and master server
 	client_exe = Link(client_settings, "zCatch", game_shared, game_client,
 		engine, client, game_editor, zlib, pnglite, wavpack,
-		client_link_other, client_osxlaunch, jsonparser)
+		client_link_other, client_osxlaunch, jsonparser, libwebsockets)
 
 	server_exe = Link(server_settings, "zCatch-Server", engine, server,
-		game_shared, game_server, zlib, server_link_other)
+		game_shared, game_server, zlib, server_link_other, libwebsockets)
 
 	serverlaunch = {}
 	if platform == "macosx" then
@@ -321,7 +329,7 @@ function build(settings)
 	end
 
 	versionserver_exe = Link(server_settings, "versionsrv", versionserver,
-		engine, zlib)
+		engine, zlib, libwebsockets)
 
 	masterserver_exe = Link(server_settings, "mastersrv", masterserver,
 		engine, zlib)