1*228f9247SSergey Makeevif not _ACTION then 2*228f9247SSergey Makeev _ACTION="vs2010" 3*228f9247SSergey Makeevend 4*228f9247SSergey Makeev 5*228f9247SSergey MakeevisVisualStudio = false 6*228f9247SSergey Makeev 7*228f9247SSergey Makeevif _ACTION == "vs2002" or _ACTION == "vs2003" or _ACTION == "vs2005" or _ACTION == "vs2008" or _ACTION == "vs2010" then 8*228f9247SSergey Makeev isVisualStudio = true 9*228f9247SSergey Makeevend 1053fd86e4SSergey Makeev 1153fd86e4SSergey Makeevsolution "TaskScheduler" 1253fd86e4SSergey Makeev 1353fd86e4SSergey Makeev language "C++" 1453fd86e4SSergey Makeev 1553fd86e4SSergey Makeev location ( "Build/" .. _ACTION ) 1653fd86e4SSergey Makeev flags {"NoManifest", "ExtraWarnings", "StaticRuntime", "NoMinimalRebuild", "FloatFast", "EnableSSE2" } 1753fd86e4SSergey Makeev optimization_flags = { "OptimizeSpeed" } 1853fd86e4SSergey Makeev targetdir("Bin") 1953fd86e4SSergey Makeev 2053fd86e4SSergey Makeev local config_list = { 2153fd86e4SSergey Makeev "Release", 2253fd86e4SSergey Makeev "Debug", 2353fd86e4SSergey Makeev } 2453fd86e4SSergey Makeev local platform_list = { 2553fd86e4SSergey Makeev "x32", 2653fd86e4SSergey Makeev "x64" 2753fd86e4SSergey Makeev } 2853fd86e4SSergey Makeev 2953fd86e4SSergey Makeev configurations(config_list) 3053fd86e4SSergey Makeev platforms(platform_list) 3153fd86e4SSergey Makeev 3253fd86e4SSergey Makeev 3353fd86e4SSergey Makeev-- CONFIGURATIONS 3453fd86e4SSergey Makeev 356d35225cSSergey Makeevconfiguration "Release" 3653fd86e4SSergey Makeev defines { "NDEBUG" } 3753fd86e4SSergey Makeev flags { "Symbols", optimization_flags } 3853fd86e4SSergey Makeev 396d35225cSSergey Makeevconfiguration "Debug" 4053fd86e4SSergey Makeev defines { "_DEBUG" } 4153fd86e4SSergey Makeev flags { "Symbols" } 4253fd86e4SSergey Makeev 4353fd86e4SSergey Makeevconfiguration "x32" 4453fd86e4SSergey Makeev libdirs { "$(DXSDK_DIR)/Lib/x86" } 45*228f9247SSergey Makeevif isVisualStudio then 4633e9cadaSSergey Makeev buildoptions { "/wd4127" } 47*228f9247SSergey Makeevelse 48*228f9247SSergey Makeev buildoptions { "-std=c++11 } 49*228f9247SSergey Makeevend 5053fd86e4SSergey Makeev 5153fd86e4SSergey Makeevconfiguration "x64" 5253fd86e4SSergey Makeev libdirs { "$(DXSDK_DIR)/Lib/x64" } 53*228f9247SSergey Makeevif isVisualStudio then 5433e9cadaSSergey Makeev buildoptions { "/wd4127" } 55*228f9247SSergey Makeevelse 56*228f9247SSergey Makeev buildoptions { "-std=c++11 } 57*228f9247SSergey Makeevend 5853fd86e4SSergey Makeev 5953fd86e4SSergey Makeev 6053fd86e4SSergey Makeev-- give each configuration/platform a unique output directory 6153fd86e4SSergey Makeev 6253fd86e4SSergey Makeevfor _, config in ipairs(config_list) do 6353fd86e4SSergey Makeev for _, plat in ipairs(platform_list) do 6453fd86e4SSergey Makeev configuration { config, plat } 6553fd86e4SSergey Makeev objdir ( "build/" .. _ACTION .. "/tmp/" .. config .. "-" .. plat ) 6653fd86e4SSergey Makeev end 6753fd86e4SSergey Makeevend 6853fd86e4SSergey Makeev 6953fd86e4SSergey Makeev-- SUBPROJECTS 7053fd86e4SSergey Makeev 7153fd86e4SSergey Makeevproject "TaskScheduler" 7253fd86e4SSergey Makeev flags {"NoPCH"} 7353fd86e4SSergey Makeev kind "ConsoleApp" 7453fd86e4SSergey Makeev files { 7553fd86e4SSergey Makeev "Src/**.*", 7653fd86e4SSergey Makeev } 7753fd86e4SSergey Makeev 786c0290e5SSergey Makeev includedirs 796c0290e5SSergey Makeev { 806c0290e5SSergey Makeev "Squish" 816c0290e5SSergey Makeev } 826c0290e5SSergey Makeev 8353fd86e4SSergey Makeev links { 846c0290e5SSergey Makeev "UnitTest++", "Squish" 8553fd86e4SSergey Makeev } 8633e9cadaSSergey Makeev 8733e9cadaSSergey Makeev 8833e9cadaSSergey Makeevproject "UnitTest++" 8933e9cadaSSergey Makeev kind "StaticLib" 9033e9cadaSSergey Makeev defines { "_CRT_SECURE_NO_WARNINGS" } 9133e9cadaSSergey Makeev files { 9233e9cadaSSergey Makeev "TestFramework/UnitTest++/**.*", 9333e9cadaSSergey Makeev } 9433e9cadaSSergey Makeev 9533e9cadaSSergey Makeev excludes { 9633e9cadaSSergey Makeev "TestFramework/UnitTest++/Posix/**.*" 9733e9cadaSSergey Makeev } 9833e9cadaSSergey Makeev 9933e9cadaSSergey Makeev 1006c0290e5SSergey Makeevproject "Squish" 1016c0290e5SSergey Makeev kind "StaticLib" 1026c0290e5SSergey Makeev defines { "_CRT_SECURE_NO_WARNINGS" } 1036c0290e5SSergey Makeev files { 1046c0290e5SSergey Makeev "Squish/**.*", 1056c0290e5SSergey Makeev } 1066c0290e5SSergey Makeev 1076c0290e5SSergey Makeev includedirs 1086c0290e5SSergey Makeev { 1096c0290e5SSergey Makeev "Squish" 1106c0290e5SSergey Makeev } 1116c0290e5SSergey Makeev 1126c0290e5SSergey Makeev 113