xref: /TaskScheduler/premake4.lua (revision 33e9cada)
153fd86e4SSergey Makeevif not _ACTION then _ACTION="vs2010" end
253fd86e4SSergey Makeev
353fd86e4SSergey Makeevsolution "TaskScheduler"
453fd86e4SSergey Makeev
553fd86e4SSergey Makeev	language "C++"
653fd86e4SSergey Makeev
753fd86e4SSergey Makeev	location ( "Build/" .. _ACTION )
853fd86e4SSergey Makeev	flags {"NoManifest", "ExtraWarnings", "StaticRuntime", "NoMinimalRebuild", "FloatFast", "EnableSSE2" }
953fd86e4SSergey Makeev	optimization_flags = { "OptimizeSpeed" }
1053fd86e4SSergey Makeev	targetdir("Bin")
1153fd86e4SSergey Makeev
1253fd86e4SSergey Makeev	local config_list = {
1353fd86e4SSergey Makeev		"Release",
1453fd86e4SSergey Makeev		"Debug",
1553fd86e4SSergey Makeev	}
1653fd86e4SSergey Makeev	local platform_list = {
1753fd86e4SSergey Makeev		"x32",
1853fd86e4SSergey Makeev		"x64"
1953fd86e4SSergey Makeev	}
2053fd86e4SSergey Makeev
2153fd86e4SSergey Makeev	configurations(config_list)
2253fd86e4SSergey Makeev	platforms(platform_list)
2353fd86e4SSergey Makeev
2453fd86e4SSergey Makeev
2553fd86e4SSergey Makeev-- CONFIGURATIONS
2653fd86e4SSergey Makeev
276d35225cSSergey Makeevconfiguration "Release"
2853fd86e4SSergey Makeev	defines { "NDEBUG" }
2953fd86e4SSergey Makeev	flags { "Symbols", optimization_flags }
3053fd86e4SSergey Makeev
316d35225cSSergey Makeevconfiguration "Debug"
3253fd86e4SSergey Makeev	defines { "_DEBUG" }
3353fd86e4SSergey Makeev	flags { "Symbols" }
3453fd86e4SSergey Makeev
3553fd86e4SSergey Makeevconfiguration "x32"
3653fd86e4SSergey Makeev	libdirs { "$(DXSDK_DIR)/Lib/x86" }
37*33e9cadaSSergey Makeev        buildoptions { "/wd4127"  }
3853fd86e4SSergey Makeev
3953fd86e4SSergey Makeevconfiguration "x64"
4053fd86e4SSergey Makeev	libdirs { "$(DXSDK_DIR)/Lib/x64" }
41*33e9cadaSSergey Makeev        buildoptions { "/wd4127"  }
4253fd86e4SSergey Makeev
4353fd86e4SSergey Makeev
4453fd86e4SSergey Makeev--  give each configuration/platform a unique output directory
4553fd86e4SSergey Makeev
4653fd86e4SSergey Makeevfor _, config in ipairs(config_list) do
4753fd86e4SSergey Makeev	for _, plat in ipairs(platform_list) do
4853fd86e4SSergey Makeev		configuration { config, plat }
4953fd86e4SSergey Makeev		objdir    ( "build/" .. _ACTION .. "/tmp/"  .. config  .. "-" .. plat )
5053fd86e4SSergey Makeev	end
5153fd86e4SSergey Makeevend
5253fd86e4SSergey Makeev
5353fd86e4SSergey Makeev-- SUBPROJECTS
5453fd86e4SSergey Makeev
5553fd86e4SSergey Makeevproject "TaskScheduler"
5653fd86e4SSergey Makeev 	flags {"NoPCH"}
5753fd86e4SSergey Makeev 	kind "ConsoleApp"
5853fd86e4SSergey Makeev 	files {
5953fd86e4SSergey Makeev 		"Src/**.*",
6053fd86e4SSergey Makeev 	}
6153fd86e4SSergey Makeev
6253fd86e4SSergey Makeev	links {
6353fd86e4SSergey Makeev		"UnitTest++"
6453fd86e4SSergey Makeev	}
65*33e9cadaSSergey Makeev
66*33e9cadaSSergey Makeev
67*33e9cadaSSergey Makeevproject "UnitTest++"
68*33e9cadaSSergey Makeev	kind "StaticLib"
69*33e9cadaSSergey Makeev	defines { "_CRT_SECURE_NO_WARNINGS" }
70*33e9cadaSSergey Makeev	files {
71*33e9cadaSSergey Makeev		"TestFramework/UnitTest++/**.*",
72*33e9cadaSSergey Makeev	}
73*33e9cadaSSergey Makeev
74*33e9cadaSSergey Makeev	excludes {
75*33e9cadaSSergey Makeev		"TestFramework/UnitTest++/Posix/**.*"
76*33e9cadaSSergey Makeev	}
77*33e9cadaSSergey Makeev
78*33e9cadaSSergey Makeev
79