xref: /TaskScheduler/premake4.lua (revision 53fd86e4)
1*53fd86e4SSergey Makeevif not _ACTION then _ACTION="vs2010" end
2*53fd86e4SSergey Makeev
3*53fd86e4SSergey Makeevsolution "TaskScheduler"
4*53fd86e4SSergey Makeev
5*53fd86e4SSergey Makeev	language "C++"
6*53fd86e4SSergey Makeev
7*53fd86e4SSergey Makeev	location ( "Build/" .. _ACTION )
8*53fd86e4SSergey Makeev	flags {"NoManifest", "ExtraWarnings", "StaticRuntime", "NoMinimalRebuild", "FloatFast", "EnableSSE2" }
9*53fd86e4SSergey Makeev	optimization_flags = { "OptimizeSpeed" }
10*53fd86e4SSergey Makeev	targetdir("Bin")
11*53fd86e4SSergey Makeev
12*53fd86e4SSergey Makeev	local config_list = {
13*53fd86e4SSergey Makeev		"Release",
14*53fd86e4SSergey Makeev		"Debug",
15*53fd86e4SSergey Makeev	}
16*53fd86e4SSergey Makeev	local platform_list = {
17*53fd86e4SSergey Makeev		"x32",
18*53fd86e4SSergey Makeev		"x64"
19*53fd86e4SSergey Makeev	}
20*53fd86e4SSergey Makeev
21*53fd86e4SSergey Makeev	configurations(config_list)
22*53fd86e4SSergey Makeev	platforms(platform_list)
23*53fd86e4SSergey Makeev
24*53fd86e4SSergey Makeev
25*53fd86e4SSergey Makeev-- CONFIGURATIONS
26*53fd86e4SSergey Makeev
27*53fd86e4SSergey Makeevconfiguration "*-Release"
28*53fd86e4SSergey Makeev	defines { "NDEBUG" }
29*53fd86e4SSergey Makeev	flags { "Symbols", optimization_flags }
30*53fd86e4SSergey Makeev
31*53fd86e4SSergey Makeevconfiguration "*-Debug"
32*53fd86e4SSergey Makeev	defines { "_DEBUG" }
33*53fd86e4SSergey Makeev	flags { "Symbols" }
34*53fd86e4SSergey Makeev
35*53fd86e4SSergey Makeevconfiguration "x32"
36*53fd86e4SSergey Makeev	libdirs { "$(DXSDK_DIR)/Lib/x86" }
37*53fd86e4SSergey Makeev
38*53fd86e4SSergey Makeevconfiguration "x64"
39*53fd86e4SSergey Makeev	libdirs { "$(DXSDK_DIR)/Lib/x64" }
40*53fd86e4SSergey Makeev
41*53fd86e4SSergey Makeev
42*53fd86e4SSergey Makeev--  give each configuration/platform a unique output directory
43*53fd86e4SSergey Makeev
44*53fd86e4SSergey Makeevfor _, config in ipairs(config_list) do
45*53fd86e4SSergey Makeev	for _, plat in ipairs(platform_list) do
46*53fd86e4SSergey Makeev		configuration { config, plat }
47*53fd86e4SSergey Makeev		objdir    ( "build/" .. _ACTION .. "/tmp/"  .. config  .. "-" .. plat )
48*53fd86e4SSergey Makeev	end
49*53fd86e4SSergey Makeevend
50*53fd86e4SSergey Makeev
51*53fd86e4SSergey Makeev-- SUBPROJECTS
52*53fd86e4SSergey Makeev
53*53fd86e4SSergey Makeevproject "UnitTest++"
54*53fd86e4SSergey Makeev	kind "StaticLib"
55*53fd86e4SSergey Makeev	files {
56*53fd86e4SSergey Makeev		"Test/UnitTest++/**.*",
57*53fd86e4SSergey Makeev	}
58*53fd86e4SSergey Makeev
59*53fd86e4SSergey Makeev	excludes {
60*53fd86e4SSergey Makeev		"Test/UnitTest++/Posix/**.*"
61*53fd86e4SSergey Makeev	}
62*53fd86e4SSergey Makeev
63*53fd86e4SSergey Makeev
64*53fd86e4SSergey Makeev project "TaskScheduler"
65*53fd86e4SSergey Makeev 	flags {"NoPCH"}
66*53fd86e4SSergey Makeev 	kind "ConsoleApp"
67*53fd86e4SSergey Makeev 	files {
68*53fd86e4SSergey Makeev 		"Src/**.*",
69*53fd86e4SSergey Makeev 	}
70*53fd86e4SSergey Makeev
71*53fd86e4SSergey Makeev	links {
72*53fd86e4SSergey Makeev		"UnitTest++"
73*53fd86e4SSergey Makeev	}
74