1228f9247SSergey Makeevif not _ACTION then 2228f9247SSergey Makeev _ACTION="vs2010" 3228f9247SSergey Makeevend 4228f9247SSergey Makeev 5d5e144daSbombombyisPOSIX = false 6228f9247SSergey MakeevisVisualStudio = false 7228f9247SSergey Makeev 8228f9247SSergey Makeevif _ACTION == "vs2002" or _ACTION == "vs2003" or _ACTION == "vs2005" or _ACTION == "vs2008" or _ACTION == "vs2010" then 9228f9247SSergey Makeev isVisualStudio = true 10228f9247SSergey Makeevend 1153fd86e4SSergey Makeev 12d5e144daSbombombyif _ACTION == "codeblocks" 13d5e144daSbombombythen 14d5e144daSbombomby isPosix = true 15d5e144daSbombombyend 16d5e144daSbombomby 1753fd86e4SSergey Makeevsolution "TaskScheduler" 1853fd86e4SSergey Makeev 1953fd86e4SSergey Makeev language "C++" 2053fd86e4SSergey Makeev 2153fd86e4SSergey Makeev location ( "Build/" .. _ACTION ) 2253fd86e4SSergey Makeev flags {"NoManifest", "ExtraWarnings", "StaticRuntime", "NoMinimalRebuild", "FloatFast", "EnableSSE2" } 2353fd86e4SSergey Makeev optimization_flags = { "OptimizeSpeed" } 2453fd86e4SSergey Makeev targetdir("Bin") 2553fd86e4SSergey Makeev 2653fd86e4SSergey Makeev local config_list = { 2753fd86e4SSergey Makeev "Release", 2853fd86e4SSergey Makeev "Debug", 2953fd86e4SSergey Makeev } 3053fd86e4SSergey Makeev local platform_list = { 3153fd86e4SSergey Makeev "x32", 3253fd86e4SSergey Makeev "x64" 3353fd86e4SSergey Makeev } 3453fd86e4SSergey Makeev 3553fd86e4SSergey Makeev configurations(config_list) 3653fd86e4SSergey Makeev platforms(platform_list) 3753fd86e4SSergey Makeev 3853fd86e4SSergey Makeev 3953fd86e4SSergey Makeev-- CONFIGURATIONS 4053fd86e4SSergey Makeev 416d35225cSSergey Makeevconfiguration "Release" 4253fd86e4SSergey Makeev defines { "NDEBUG" } 4353fd86e4SSergey Makeev flags { "Symbols", optimization_flags } 4453fd86e4SSergey Makeev 456d35225cSSergey Makeevconfiguration "Debug" 4653fd86e4SSergey Makeev defines { "_DEBUG" } 4753fd86e4SSergey Makeev flags { "Symbols" } 4853fd86e4SSergey Makeev 4953fd86e4SSergey Makeevconfiguration "x32" 5053fd86e4SSergey Makeev libdirs { "$(DXSDK_DIR)/Lib/x86" } 51228f9247SSergey Makeevif isVisualStudio then 5233e9cadaSSergey Makeev buildoptions { "/wd4127" } 53228f9247SSergey Makeevelse 549f22f926SSergey Makeev buildoptions { "-std=c++11" } 55228f9247SSergey Makeevend 5653fd86e4SSergey Makeev 5753fd86e4SSergey Makeevconfiguration "x64" 5853fd86e4SSergey Makeev libdirs { "$(DXSDK_DIR)/Lib/x64" } 59228f9247SSergey Makeevif isVisualStudio then 6033e9cadaSSergey Makeev buildoptions { "/wd4127" } 61228f9247SSergey Makeevelse 629f22f926SSergey Makeev buildoptions { "-std=c++11" } 63228f9247SSergey Makeevend 6453fd86e4SSergey Makeev 6553fd86e4SSergey Makeev 6653fd86e4SSergey Makeev-- give each configuration/platform a unique output directory 6753fd86e4SSergey Makeev 6853fd86e4SSergey Makeevfor _, config in ipairs(config_list) do 6953fd86e4SSergey Makeev for _, plat in ipairs(platform_list) do 7053fd86e4SSergey Makeev configuration { config, plat } 7153fd86e4SSergey Makeev objdir ( "build/" .. _ACTION .. "/tmp/" .. config .. "-" .. plat ) 7253fd86e4SSergey Makeev end 7353fd86e4SSergey Makeevend 7453fd86e4SSergey Makeev 7553fd86e4SSergey Makeev-- SUBPROJECTS 7653fd86e4SSergey Makeev 77*0bb199c0SSergey Makeevproject "Tests" 7853fd86e4SSergey Makeev flags {"NoPCH"} 7953fd86e4SSergey Makeev kind "ConsoleApp" 8053fd86e4SSergey Makeev files { 81*0bb199c0SSergey Makeev "Tests/**.*", 82*0bb199c0SSergey Makeev } 83*0bb199c0SSergey Makeev 84*0bb199c0SSergey Makeev includedirs 85*0bb199c0SSergey Makeev { 86*0bb199c0SSergey Makeev "Squish", "Scheduler/Include", "TestFramework/UnitTest++" 87*0bb199c0SSergey Makeev } 88*0bb199c0SSergey Makeev 89*0bb199c0SSergey Makeev if isPosix then 90*0bb199c0SSergey Makeev excludes { "Src/Platform/Windows/**.*" } 91*0bb199c0SSergey Makeev else 92*0bb199c0SSergey Makeev excludes { "Src/Platform/Posix/**.*" } 93*0bb199c0SSergey Makeev end 94*0bb199c0SSergey Makeev 95*0bb199c0SSergey Makeev links { 96*0bb199c0SSergey Makeev "UnitTest++", "Squish", "TaskScheduler" 97*0bb199c0SSergey Makeev } 98*0bb199c0SSergey Makeev 99*0bb199c0SSergey Makeev 100*0bb199c0SSergey Makeevproject "TaskScheduler" 101*0bb199c0SSergey Makeev kind "StaticLib" 102*0bb199c0SSergey Makeev flags {"NoPCH"} 103*0bb199c0SSergey Makeev files { 10447d53e4dSSergey Makeev "Scheduler/**.*", 10553fd86e4SSergey Makeev } 10653fd86e4SSergey Makeev 1076c0290e5SSergey Makeev includedirs 1086c0290e5SSergey Makeev { 10947d53e4dSSergey Makeev "Squish", "Scheduler/Include", "TestFramework/UnitTest++" 1106c0290e5SSergey Makeev } 11171fa5439Sbombomby 11271fa5439Sbombomby if isPosix then 113ea9ac498Sbombomby excludes { "Src/Platform/Windows/**.*" } 11471fa5439Sbombomby else 11571fa5439Sbombomby excludes { "Src/Platform/Posix/**.*" } 11671fa5439Sbombomby end 1176c0290e5SSergey Makeev 1183e70a85eSbombomby if isPosix then 1193e70a85eSbombomby links { "pthread" } 1203e70a85eSbombomby end 1213e70a85eSbombomby 1223e70a85eSbombomby 1233e70a85eSbombomby 12433e9cadaSSergey Makeevproject "UnitTest++" 12533e9cadaSSergey Makeev kind "StaticLib" 12633e9cadaSSergey Makeev defines { "_CRT_SECURE_NO_WARNINGS" } 12733e9cadaSSergey Makeev files { 12833e9cadaSSergey Makeev "TestFramework/UnitTest++/**.*", 12933e9cadaSSergey Makeev } 13033e9cadaSSergey Makeev 131d5e144daSbombombyif isPosix then 132d5e144daSbombomby excludes { "TestFramework/UnitTest++/Win32/**.*" } 133d5e144daSbombombyelse 134d5e144daSbombomby excludes { "TestFramework/UnitTest++/Posix/**.*" } 135d5e144daSbombombyend 13633e9cadaSSergey Makeev 13733e9cadaSSergey Makeev 1386c0290e5SSergey Makeevproject "Squish" 1396c0290e5SSergey Makeev kind "StaticLib" 1406c0290e5SSergey Makeev defines { "_CRT_SECURE_NO_WARNINGS" } 1416c0290e5SSergey Makeev files { 1426c0290e5SSergey Makeev "Squish/**.*", 1436c0290e5SSergey Makeev } 1446c0290e5SSergey Makeev 1456c0290e5SSergey Makeev includedirs 1466c0290e5SSergey Makeev { 1476c0290e5SSergey Makeev "Squish" 1486c0290e5SSergey Makeev } 1496c0290e5SSergey Makeev 1506c0290e5SSergey Makeev 151