about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--bam.lua18
-rw-r--r--other/icons/teeworlds_cl.rc (renamed from other/icons/teeworlds.rc)0
-rw-r--r--other/icons/teeworlds_gcc.rc1
3 files changed, 13 insertions, 6 deletions
diff --git a/bam.lua b/bam.lua
index 6891894b..79b72944 100644
--- a/bam.lua
+++ b/bam.lua
@@ -55,8 +55,13 @@ DuplicateDirectoryStructure("src", "src", "objs")
 
 function ResCompile(scriptfile)
 	scriptfile = Path(scriptfile)
-	output = PathBase(scriptfile) .. ".res"
-	AddJob(output, "rc " .. scriptfile, "rc /fo " .. output .. " " .. scriptfile)
+	if config.compiler.driver == "cl" then
+		output = PathBase(scriptfile) .. ".res"
+		AddJob(output, "rc " .. scriptfile, "rc /fo " .. output .. " " .. scriptfile)
+	elseif config.compiler.driver == "gcc" then
+		output = PathBase(scriptfile) .. ".coff"
+		AddJob(output, "windres " .. scriptfile, "windres -i " .. scriptfile .. " -o " .. output)
+	end
 	AddDependency(output, scriptfile)
 	return output
 end
@@ -108,11 +113,12 @@ client_depends = {}
 
 if family == "windows" then
 	table.insert(client_depends, CopyToDirectory(".", "other\\sdl\\vc2005libs\\SDL.dll"))
-end
-	
 
-if config.compiler.driver == "cl" then
-	client_link_other = {ResCompile("other/icons/teeworlds.rc")}
+	if config.compiler.driver == "cl" then
+		client_link_other = {ResCompile("other/icons/teeworlds_cl.rc")}
+	elseif config.compiler.driver == "gcc" then
+		client_link_other = {ResCompile("other/icons/teeworlds_gcc.rc")}
+	end
 end
 
 function Intermediate_Output(settings, input)
diff --git a/other/icons/teeworlds.rc b/other/icons/teeworlds_cl.rc
index a4eab1f9..a4eab1f9 100644
--- a/other/icons/teeworlds.rc
+++ b/other/icons/teeworlds_cl.rc
diff --git a/other/icons/teeworlds_gcc.rc b/other/icons/teeworlds_gcc.rc
new file mode 100644
index 00000000..aa5dcb44
--- /dev/null
+++ b/other/icons/teeworlds_gcc.rc
@@ -0,0 +1 @@
+ID ICON "teeworlds.ico"