summaryrefslogtreecommitdiffstats
blob: 84cc80b87f322bae0e6208f2e02d37ba3e46d737 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Import("env")

example_env = env.Clone()
example_env.UseFlags(example_env["SWIFTEN_FLAGS"])
example_env.UseFlags(example_env["SWIFTEN_DEP_FLAGS"])

# Precompile Swiften header
# This is useful to slightly speed up compilation.
if example_env["PLATFORM"] == "win32":
	# Precompiled headers don't work with /Z7. We don't really need /Z7 here, so using
	# the more standard /Zi.
	if example_env["debug"] :
		example_env.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag != "/Z7"])
		example_env.Append(CCFLAGS = "/Zi")
	example_env.WriteVal("Swiften.cpp", example_env.Value("#include <Swiften/Swiften.h>\n"))
	example_env["PCH"] = example_env.PCH("Swiften.cpp")[0]
	example_env["PCHSTOP"] = "Swiften/Swiften.h"

for i in range(1,7) :
	example_env.Program("EchoBot" + str(i), ["EchoBot" + str(i) + ".cpp"])
example_env.Program("EchoComponent", "EchoComponent.cpp")

# C++0x
cpp0x = False
cpp0x_env = example_env.Clone()
if env["PLATFORM"] == "win32" :
	if int(env["MSVS_VERSION"].split(".")[0]) >= 10 :
		cpp0x = True
else :
	if env["CCVERSION"].split(".") >= ["4", "5", "0"] :
		# Temporarily disabling c++0x mode because of problems with boost::thread
		# on some platforms
		#cpp0x = True
		cpp0x_env.Replace(CXXFLAGS = [flag for flag in env["CXXFLAGS"] if flag != "-Werror"])
		cpp0x_env.Append(CXXFLAGS = ["-std=c++0x"])
if cpp0x :
	cpp0x_env.Program("EchoBot0x", "EchoBot0x.cpp")