Index: build/premake/cxxtest/cxxtest.lua
===================================================================
--- build/premake/cxxtest/cxxtest.lua	(nonexistent)
+++ build/premake/cxxtest/cxxtest.lua	(working copy)
@@ -0,0 +1,29 @@
+local m = {}
+m._VERSION = "0.0.0-dev"
+
+m.path = nil
+
+function m.configure_project(rootfile, hdrfiles, rootoptions, testoptions)
+	if rootoptions == nil then
+		rootoptions = ''
+	end
+	if testoptions == nil then
+		testoptions = ''
+	end
+	local cmds = {}
+	local abspath = path.getabsolute(m.path)
+
+	for _,hdrfile in ipairs(hdrfiles) do
+		hdrfile = path.getabsolute(hdrfile)
+		local srcfile = string.sub(hdrfile, 1, -3) .. ".cpp"
+		files { hdrfile, srcfile }
+		table.insert(cmds, abspath .. " --part " .. testoptions .. " -o " .. srcfile .. " " .. hdrfile)
+	end
+	rootfile = path.getabsolute(rootfile)
+	files { rootfile }
+	table.insert(cmds, abspath .. " --root " .. rootoptions .. " -o " .. rootfile)
+	prebuildcommands {cmds}
+end
+
+cxxtest = m
+return m
Index: build/premake/extern_libs.lua
===================================================================
--- build/premake/extern_libs.lua	(revision 17677)
+++ build/premake/extern_libs.lua	(working copy)
@@ -77,7 +77,7 @@
 		result_libs = string.gsub(result_libs, ",", " ")
 		result_libs = string.gsub(result_libs, "\n", "")
 		linkoptions { result_libs }
-	elseif _ACTION == "gmake" then	
+	elseif _ACTION == "gmake" then
 		gnuexternals { "`"..cmd_libs.."`" }
 	else
 		linkoptions { "`"..cmd_libs.."`" }
@@ -109,11 +109,11 @@
 		local dbg_cmd = "/DELAYLOAD:" .. name .. suffix .. ".dll"
 		local cmd     = "/DELAYLOAD:" .. name .. ".dll"
 
-		configuration "Debug"
+		filter "Debug"
 			linkoptions { dbg_cmd }
-		configuration "Release"
+		filter "Release"
 			linkoptions { cmd }
-		configuration { }
+		filter { }
 	end
 
 end
@@ -158,11 +158,11 @@
 		end
 	else
 		for i,name in pairs(names) do
-			configuration "Debug"
+			filter "Debug"
 				links { name .. suffix }
-			configuration "Release"
+			filter "Release"
 				links { name }
-			configuration { }
+			filter { }
 
 			add_delayload(name, suffix, def)
 		end
@@ -290,17 +290,17 @@
 		link_settings = function()
 			add_source_lib_paths("fcollada")
 			if os.is("windows") then
-				configuration "Debug"
+				filter "Debug"
 					links { "FColladaD" }
-				configuration "Release"
+				filter "Release"
 					links { "FCollada" }
-			 	configuration { }
+			 	filter { }
 			else
-				configuration "Debug"
+				filter "Debug"
 					links { "FColladaSD" }
-				configuration "Release"
+				filter "Release"
 					links { "FColladaSR" }
-				configuration { }
+				filter { }
 			end
 		end,
 	},
@@ -483,11 +483,11 @@
 		link_settings = function()
 			if os.is("windows") then
 				add_default_lib_paths("libxml2")
-				configuration "Debug"
+				filter "Debug"
 					links { "libxml2" }
-				configuration "Release"
+				filter "Release"
 					links { "libxml2" }
-				configuration { }
+				filter { }
 			elseif os.is("macosx") then
 				xml2_config_path = os.getenv("XML2_CONFIG")
 				if not xml2_config_path then
@@ -618,12 +618,12 @@
 				else
 					include_dir = "include-unix"
 				end
-				configuration "Debug"
+				filter "Debug"
 					includedirs { libraries_source_dir.."spidermonkey/"..include_dir.."-debug" }
 					defines { "DEBUG" }
-				configuration "Release"
+				filter "Release"
 					includedirs { libraries_source_dir.."spidermonkey/"..include_dir.."-release" }
-				configuration { }
+				filter { }
 			end
 		end,
 		link_settings = function()
@@ -639,11 +639,11 @@
 					add_default_lib_paths("nspr")
 					links { "nspr4", "plc4", "plds4" }
 				end
-				configuration "Debug"
+				filter "Debug"
 					links { "mozjs31-ps-debug" }
-				configuration "Release"
+				filter "Release"
 					links { "mozjs31-ps-release" }
-				configuration { }
+				filter { }
 				add_source_lib_paths("spidermonkey")
 			end
 		end,
Index: build/premake/extern_libs4.lua (deleted)
===================================================================
Index: build/premake/premake4/BUILD.txt (deleted)
===================================================================
Index: build/premake/premake4/CHANGES.txt (deleted)
===================================================================
Index: build/premake/premake4/LICENSE.txt (deleted)
===================================================================
Index: build/premake/premake4/README.txt (deleted)
===================================================================
Index: build/premake/premake4/bin/release/premake4.exe (deleted)
===================================================================
Index: build/premake/premake4/build/gmake.bsd/Makefile (deleted)
===================================================================
Index: build/premake/premake4/build/gmake.bsd/Premake4.make (deleted)
===================================================================
Index: build/premake/premake4/build/gmake.macosx/Makefile (deleted)
===================================================================
Index: build/premake/premake4/build/gmake.macosx/Premake4.make (deleted)
===================================================================
Index: build/premake/premake4/build/gmake.unix/Makefile (deleted)
===================================================================
Index: build/premake/premake4/build/gmake.unix/Premake4.make (deleted)
===================================================================
Index: build/premake/premake4/build/vs2013/Premake4.sln (deleted)
===================================================================
Index: build/premake/premake4/build/vs2013/Premake4.vcxproj (deleted)
===================================================================
Index: build/premake/premake4/build/vs2013/Premake4.vcxproj.filters (deleted)
===================================================================
Index: build/premake/premake4/build/vs2013/Premake4.vcxproj.user (deleted)
===================================================================
Index: build/premake/premake4/doxyfile (deleted)
===================================================================
Index: build/premake/premake4/premake4.lua (deleted)
===================================================================
Index: build/premake/premake4/scripts/RELEASE.txt (deleted)
===================================================================
Index: build/premake/premake4/scripts/embed.lua (deleted)
===================================================================
Index: build/premake/premake4/scripts/release.lua (deleted)
===================================================================
Index: build/premake/premake4/src/_manifest.lua (deleted)
===================================================================
Index: build/premake/premake4/src/_premake_main.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/clean/_clean.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/codeblocks/_codeblocks.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/codeblocks/codeblocks_cbp.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/codeblocks/codeblocks_workspace.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/codelite/_codelite.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/codelite/codelite_project.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/codelite/codelite_workspace.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/example/_example.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/example/example_project.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/example/example_solution.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/make/_make.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/make/make_cpp.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/make/make_csharp.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/make/make_solution.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/vstudio/_vstudio.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/vstudio/vs2002_csproj.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/vstudio/vs2002_csproj_user.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/vstudio/vs2002_solution.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/vstudio/vs2003_solution.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/vstudio/vs2005_csproj.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/vstudio/vs2005_csproj_user.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/vstudio/vs2005_solution.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/vstudio/vs200x_vcproj.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/vstudio/vs2010_vcxproxj.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/vstudio/vs_generic_solution.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/xcode/_xcode.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/xcode/xcode4_workspace.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/xcode/xcode_common.lua (deleted)
===================================================================
Index: build/premake/premake4/src/actions/xcode/xcode_project.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/action.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/api.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/cmdline.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/configs.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/globals.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/help.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/io.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/option.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/os.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/path.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/premake.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/project.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/solution.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/string.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/table.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/tree.lua (deleted)
===================================================================
Index: build/premake/premake4/src/base/validate.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/COPYRIGHT (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/HISTORY (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/INSTALL (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/Makefile (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/README (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/doc/amazon.gif (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/doc/contents.html (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/doc/cover.png (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/doc/logo.gif (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/doc/lua.1 (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/doc/lua.css (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/doc/lua.html (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/doc/luac.1 (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/doc/luac.html (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/doc/manual.css (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/doc/manual.html (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/doc/readme.html (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/etc/Makefile (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/etc/README (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/etc/all.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/etc/lua.hpp (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/etc/lua.ico (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/etc/lua.pc (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/etc/luavs.bat (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/etc/min.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/etc/noparser.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/etc/strict.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/Makefile (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lapi.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lapi.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lauxlib.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lauxlib.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lbaselib.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lcode.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lcode.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/ldblib.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/ldebug.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/ldebug.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/ldo.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/ldo.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/ldump.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lfunc.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lfunc.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lgc.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lgc.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/linit.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/liolib.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/llex.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/llex.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/llimits.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lmathlib.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lmem.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lmem.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/loadlib.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lobject.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lobject.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lopcodes.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lopcodes.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/loslib.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lparser.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lparser.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lstate.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lstate.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lstring.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lstring.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lstrlib.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/ltable.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/ltable.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/ltablib.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/ltm.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/ltm.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lua.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lua.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/luac.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/luaconf.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lualib.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lundump.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lundump.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lvm.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lvm.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lzio.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/lzio.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/src/print.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/README (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/bisect.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/cf.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/echo.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/env.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/factorial.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/fib.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/fibfor.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/globals.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/hello.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/life.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/luac.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/printf.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/readonly.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/sieve.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/sort.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/table.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/trace-calls.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/trace-globals.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/lua-5.1.4/test/xd.lua (deleted)
===================================================================
Index: build/premake/premake4/src/host/os_chdir.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/os_copyfile.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/os_getcwd.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/os_getversion.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/os_isdir.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/os_isfile.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/os_match.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/os_mkdir.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/os_pathsearch.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/os_rmdir.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/os_uuid.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/path_isabsolute.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/premake.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/premake.h (deleted)
===================================================================
Index: build/premake/premake4/src/host/scripts.c (deleted)
===================================================================
Index: build/premake/premake4/src/host/string_endswith.c (deleted)
===================================================================
Index: build/premake/premake4/src/tools/dotnet.lua (deleted)
===================================================================
Index: build/premake/premake4/src/tools/gcc.lua (deleted)
===================================================================
Index: build/premake/premake4/src/tools/msc.lua (deleted)
===================================================================
Index: build/premake/premake4/src/tools/ow.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/actions/make/test_make_escaping.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/actions/make/test_make_pch.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/actions/test_clean.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/actions/vstudio/test_vs2005_csproj.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/actions/vstudio/test_vs200x_vcproj.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/actions/vstudio/test_vs200x_vcproj_linker.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/actions/vstudio/test_vs2010_filters.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/actions/vstudio/test_vs2010_flags.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/actions/vstudio/test_vs2010_links.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/actions/vstudio/test_vs2010_project_kinds.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/actions/vstudio/test_vs2010_vcxproj.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/actions/xcode/test_xcode_common.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/actions/xcode/test_xcode_dependencies.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/actions/xcode/test_xcode_project.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/base/test_action.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/base/test_api.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/base/test_baking.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/base/test_config.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/base/test_os.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/base/test_path.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/base/test_table.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/base/test_tree.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/folder/ok.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/folder/ok.lua.2 (deleted)
===================================================================
Index: build/premake/premake4/tests/pepperfish_profiler.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/premake4.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/stress (deleted)
===================================================================
Index: build/premake/premake4/tests/test (deleted)
===================================================================
Index: build/premake/premake4/tests/test.bat (deleted)
===================================================================
Index: build/premake/premake4/tests/test_dofile.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_gcc.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_gmake_cpp.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_gmake_cs.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_keywords.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_platforms.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_premake.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_project.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_stress.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_string.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_targets.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_vs2002_sln.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_vs2003_sln.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_vs2005_sln.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_vs2008_sln.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/test_vs2010_sln.lua (deleted)
===================================================================
Index: build/premake/premake4/tests/testfx.lua (deleted)
===================================================================
Index: build/premake/premake4.lua (deleted)
===================================================================
Index: build/premake/premake5.lua
===================================================================
--- build/premake/premake5.lua	(revision 17677)
+++ build/premake/premake5.lua	(working copy)
@@ -33,7 +33,7 @@
 -- Root directory of project checkout relative to this .lua file
 rootdir = "../.."
 
-dofile("extern_libs4.lua")
+dofile("extern_libs5.lua")
 
 -- detect compiler for non-Windows
 if os.is("macosx") then
@@ -93,8 +93,8 @@
 	end
 end
 
--- Set up the Solution
-solution "pyrogenesis"
+-- Set up the Workspace
+workspace "pyrogenesis"
 targetdir(rootdir.."/binaries/system")
 libdirs(rootdir.."/binaries/system")
 if not _OPTIONS["outpath"] then
@@ -105,7 +105,6 @@
 
 -- Get some environement specific information used later.
 if os.is("windows") then
-	nasmpath(rootdir.."/build/bin/nasm.exe")
 	lcxxtestpath = rootdir.."/build/bin/cxxtestgen.exe"
 else
 
@@ -142,14 +141,14 @@
 
 	local obj_dir_prefix = _OPTIONS["outpath"].."/obj/"..project_name.."_"
 
-	configuration "Debug"
+	filter "Debug"
 		objdir(obj_dir_prefix.."Debug")
 		targetsuffix("_dbg")
 
-	configuration "Release"
+	filter "Release"
 		objdir(obj_dir_prefix.."Release")
 
-	configuration { }
+	filter { }
 
 end
 
@@ -156,7 +155,7 @@
 
 function project_set_build_flags()
 
-	flags { "NoEditAndContinue" }
+	editandcontinue "Off"
 
 	if not _OPTIONS["minimal-flags"] then
 		flags { "Symbols" }
@@ -164,25 +163,25 @@
 
 	if cc ~= "icc" and (os.is("windows") or not _OPTIONS["minimal-flags"]) then
 		-- adds the -Wall compiler flag
-		flags { "ExtraWarnings" } -- this causes far too many warnings/remarks on ICC
+		warnings "Extra" -- this causes far too many warnings/remarks on ICC
 	end
 
 	-- disable Windows debug heap, since it makes malloc/free hugely slower when
 	-- running inside a debugger
-	if os.is("windows") then
-		flags { "NoDebugHeap" }
-	end
+	-- if os.is("windows") then
+	-- 	flags { "NoDebugHeap" }
+	-- end
 
-	configuration "Debug"
+	filter "Debug"
 		defines { "DEBUG" }
 
-	configuration "Release"
+	filter "Release"
 		if os.is("windows") or not _OPTIONS["minimal-flags"] then
-			flags { "OptimizeSpeed" }
+			optimize "Speed"
 		end
 		defines { "NDEBUG", "CONFIG_FINAL=1" }
 
-	configuration { }
+	filter { }
 
 	if _OPTIONS["gles"] then
 		defines { "CONFIG2_GLES=1" }
@@ -212,11 +211,11 @@
 	if os.is("windows") then
 
 		-- use native wchar_t type (not typedef to unsigned short)
-		flags { "NativeWChar" }
+		nativewchar "on"
 
 	else	-- *nix
 
-		-- TODO, FIXME: This check is incorrect because it means that some additional flags will be added inside the "else" branch if the 
+		-- TODO, FIXME: This check is incorrect because it means that some additional flags will be added inside the "else" branch if the
 		-- compiler is ICC and minimal-flags is specified (ticket: #2994)
 		if cc == "icc" and not _OPTIONS["minimal-flags"] then
 			buildoptions {
@@ -231,9 +230,9 @@
 				"-Wunused-function",
 				"-wd1292" -- avoid lots of 'attribute "__nonnull__" ignored'
 			}
-			configuration "Debug"
+			filter "Debug"
 				buildoptions { "-O0" } -- ICC defaults to -O2
-			configuration { }
+			filter { }
 			if os.is("macosx") then
 				linkoptions { "-multiply_defined","suppress" }
 			end
@@ -296,7 +295,7 @@
 					}
 				end
 			end
-			
+
 			buildoptions {
 				-- Enable C++11 standard.
 				"-std=c++0x"
@@ -379,7 +378,7 @@
 
 				-- Adding the executable path and taking care of correct escaping
 				if _ACTION == "gmake" then
-					linkoptions { "-Wl,-rpath,'$$ORIGIN'" } 
+					linkoptions { "-Wl,-rpath,'$$ORIGIN'" }
 				elseif _ACTION == "codeblocks" then
 					linkoptions { "-Wl,-R\\\\$$$ORIGIN" }
 				end
@@ -474,7 +473,7 @@
 	-- * precompiled.cpp (needed to "Create" the PCH) also goes in
 	--   the abovementioned dir.
 	if (not _OPTIONS["without-pch"] and not extra_params["no_pch"]) then
-		pchheader(pch_dir.."precompiled.h")
+		pchheader("precompiled.h") -- this has to match the #include line for VS
 		pchsource(pch_dir.."precompiled.cpp")
 		defines { "USING_PCH" }
 		files { pch_dir.."precompiled.h", pch_dir.."precompiled.cpp" }
@@ -545,7 +544,7 @@
 	end
 
 	if os.is("windows") then
-		flags { "NoRTTI" }
+		rtti "off"
 	end
 end
 
@@ -568,7 +567,7 @@
 	end
 
 	if os.is("windows") then
-		flags { "NoRTTI" }
+		rtti "off"
 		links { "delayimp" }
 	end
 end
@@ -607,10 +606,10 @@
 		"boost",
 	}
 	setup_third_party_static_lib_project("tinygettext", source_dirs, extern_libs, { } )
-	
+
 	-- it's an external library and we don't want to modify its source to fix warnings, so we just disable them to avoid noise in the compile output
 	if _ACTION == "vs2013" then
-		buildoptions { 
+		buildoptions {
 			"/wd4127",
 			"/wd4309",
 			"/wd4800",
@@ -730,12 +729,12 @@
 		"icu",
 		"iconv",
 	}
-	
+
 	if not _OPTIONS["without-audio"] then
 		table.insert(extern_libs, "openal")
 		table.insert(extern_libs, "vorbis")
 	end
-	
+
 	setup_static_lib_project("engine", source_dirs, extern_libs, {})
 
 
@@ -844,7 +843,7 @@
 	for i,v in pairs(sysdep_dirs[os.get()]) do
 		table.insert(source_dirs, v);
 	end
-	
+
 	if os.is("linux") then
 		if _OPTIONS["android"] then
 			table.insert(source_dirs, "lib/sysdep/os/android")
@@ -963,7 +962,7 @@
 		-- from "lowlevel" static lib; must be added here to be linked in
 		files { source_root.."lib/sysdep/os/win/error_dialog.rc" }
 
-		flags { "NoRTTI" }
+		rtti "off"
 
 		linkoptions {
 			-- wraps main thread in a __try block(see wseh.cpp). replace with mainCRTStartup if that's undesired.
@@ -1011,9 +1010,9 @@
 		end
 
 		-- For debug_resolve_symbol
-		configuration "Debug"
+		filter "Debug"
 			linkoptions { "-rdynamic" }
-		configuration { }
+		filter { }
 
 	elseif os.is("macosx") then
 
@@ -1065,17 +1064,17 @@
 		if target_type == "SharedLib" then
 			if _OPTIONS["macosx-bundle"] then
 				-- If we're building a bundle, it will be in ../Frameworks
-				configuration "Debug"
+				filter "Debug"
 					linkoptions { "-install_name @executable_path/../Frameworks/lib"..project_name.."_dbg.dylib" }
-				configuration "Release"
+				filter "Release"
 					linkoptions { "-install_name @executable_path/../Frameworks/lib"..project_name..".dylib" }
-				configuration { }
+				filter { }
 			else
-				configuration "Debug"
+				filter "Debug"
 					linkoptions { "-install_name @executable_path/lib"..project_name.."_dbg.dylib" }
-				configuration "Release"
+				filter "Release"
 					linkoptions { "-install_name @executable_path/lib"..project_name..".dylib" }
-				configuration { }
+				filter { }
 			end
 		end
 	end
@@ -1090,7 +1089,7 @@
 	{	-- src
 		".",
 		"../../../third_party/jsonspirit"
-		
+
 	},{	-- include
 		"../../../third_party/jsonspirit"
 	},{	-- extern_libs
@@ -1187,7 +1186,7 @@
 
 		-- required to use WinMain() on Windows, otherwise will default to main()
 		flags { "WinMain" }
-		
+
 		-- see manifest.cpp
 		project_add_manifest()
 
@@ -1303,9 +1302,7 @@
 -- If no customizations are implemented for a specific action (e.g. vs2013), passing the
 -- parameters won't have any effects.
 function configure_cxxtestgen()
-
 	local lcxxtestrootfile = source_root.."test_root.cpp"
-	files { lcxxtestrootfile }
 
 	-- Define the options used for cxxtestgen
 	local lcxxtestoptions = "--have-std"
@@ -1326,30 +1323,9 @@
 	lcxxtestrootoptions = lcxxtestrootoptions .. include
 	lcxxtestoptions = lcxxtestoptions .. include
 
-	-- Set all the parameters used in our cxxtestgen customization in premake.
-	cxxtestrootfile(lcxxtestrootfile)
-	cxxtestpath(lcxxtestpath)
-	cxxtestrootoptions(lcxxtestrootoptions)
-	cxxtestoptions(lcxxtestoptions)
-
-	-- The file paths needs to be made relative to the project directory for the prebuildcommands.
-	-- premake's paths are relative to premake4.lua by default.
-	lcxxtestrootfile = path.rebase(lcxxtestrootfile, path.getabsolute("."), _OPTIONS["outpath"])
-	lcxxtestpath = path.rebase(lcxxtestpath, path.getabsolute("."), _OPTIONS["outpath"])
-
-	-- On windows we have to use backlashes in our paths. We don't have to take care
-	-- of that for the parameters passed to our cxxtestgen customizations.
-	if os.is("windows") then
-		lcxxtestrootfile = path.translate(lcxxtestrootfile, "\\")
-		lcxxtestpath = path.translate(lcxxtestpath, "\\")
-	end
-
-	if _ACTION ~= "gmake" and _ACTION ~= "vs2013" then
-		prebuildcommands { lcxxtestpath.." --root "..lcxxtestrootoptions.." -o "..lcxxtestrootfile }
-	end
-
 	-- Find header files in 'test' subdirectories
 	local all_files = os.matchfiles(source_root .. "**/tests/*.h")
+	local test_files = {}
 	for i,v in pairs(all_files) do
 		-- Don't include sysdep tests on the wrong sys
 		-- Don't include Atlas tests unless Atlas is being built
@@ -1357,26 +1333,13 @@
 		   not (string.find(v, "/tools/atlas/") and not _OPTIONS["atlas"]) and
 		   not (string.find(v, "/sysdep/arch/x86_x64/") and ((arch ~= "amd64") or (arch ~= "x86")))
 		then
-			local src_file = string.sub(v, 1, -3) .. ".cpp"
-			cxxtestsrcfiles { src_file }
-			files { src_file }
-			cxxtesthdrfiles { v }
-
-			if _ACTION ~= "gmake" and _ACTION ~= "vs2013" then
-				-- see detailed comment above.
-				src_file = path.rebase(src_file, path.getabsolute("."), _OPTIONS["outpath"])
-				v = path.rebase(v, path.getabsolute("."), _OPTIONS["outpath"])
-
-				if os.is("windows") then
-					src_file = path.translate(src_file, "\\")
-					v = path.translate(v, "\\")
-				end
-				prebuildcommands { lcxxtestpath.." --part "..lcxxtestoptions.." -o "..src_file.." "..v }
-			end
+			table.insert(test_files, v)
 		end
+	end
 
-
-	end
+	require "cxxtest"
+	cxxtest.path = lcxxtestpath
+	cxxtest.configure_project(lcxxtestrootfile, test_files, lcxxtestrootoptions, lcxxtestoptions)
 end
 
 
@@ -1388,11 +1351,11 @@
 	configure_cxxtestgen()
 
 	links { static_lib_names }
-	configuration "Debug"
+	filter "Debug"
 		links { static_lib_names_debug }
-	configuration "Release"
+	filter "Release"
 		links { static_lib_names_release }
-	configuration { }
+	filter { }
 
 	links { "mocks_test" }
 	if _OPTIONS["atlas"] then
@@ -1414,7 +1377,7 @@
 		-- from "lowlevel" static lib; must be added here to be linked in
 		files { source_root.."lib/sysdep/os/win/error_dialog.rc" }
 
-		flags { "NoRTTI" }
+		rtti "off"
 
 		-- see wstartup.h
 		linkoptions { "/INCLUDE:_wstartup_InitAndRegisterShutdown" }
@@ -1453,9 +1416,9 @@
 		end
 
 		-- For debug_resolve_symbol
-		configuration "Debug"
+		filter "Debug"
 			linkoptions { "-rdynamic" }
-		configuration { }
+		filter { }
 
 		includedirs { source_root .. "pch/test/" }
 	end
@@ -1474,11 +1437,11 @@
 -- work when changing the static lib breakdown.
 project("pyrogenesis") -- Set the main project active
 	links { static_lib_names }
-	configuration "Debug"
+	filter "Debug"
 		links { static_lib_names_debug }
-	configuration "Release"
+	filter "Release"
 		links { static_lib_names_release }
-	configuration { }
+	filter { }
 
 if _OPTIONS["atlas"] then
 	setup_atlas_projects()
Index: build/workspaces/update-workspaces.bat
===================================================================
--- build/workspaces/update-workspaces.bat	(revision 17677)
+++ build/workspaces/update-workspaces.bat	(working copy)
@@ -3,5 +3,5 @@
 
 cd ..\premake
 rem ** Support for Visual Studio versions <2013 has been dropped (check #2669).
-if not exist ..\workspaces\vc2013\SKIP_PREMAKE_HERE premake4\bin\release\premake4 --outpath="../workspaces/vc2013" --collada --use-shared-glooxwrapper %* vs2013
+if not exist ..\workspaces\vc2013\SKIP_PREMAKE_HERE premake5 --outpath="../workspaces/vs2013" --collada --use-shared-glooxwrapper %* vs2013
 cd ..\workspaces
Index: build/workspaces/update-workspaces.sh
===================================================================
--- build/workspaces/update-workspaces.sh	(revision 17677)
+++ build/workspaces/update-workspaces.sh	(working copy)
@@ -93,39 +93,20 @@
   echo
 fi
 
-# Now build premake and run it to create the makefiles
-cd ../premake/premake4
-PREMAKE_BUILD_DIR=build/gmake.unix
-# BSD and OS X need different Makefiles
-case "`uname -s`" in
-  "GNU/kFreeBSD" )
-    # use default gmake.unix (needs -ldl as we have a GNU userland and libc)
-    ;;
-  *"BSD" )
-    PREMAKE_BUILD_DIR=build/gmake.bsd
-    ;;
-  "Darwin" )
-    PREMAKE_BUILD_DIR=build/gmake.macosx
-    ;;
-esac
-${MAKE} -C $PREMAKE_BUILD_DIR ${JOBS} || die "Premake build failed"
+cd ../premake
 
-echo
-
-cd ..
-
 # If we're in bash then make HOSTTYPE available to Premake, for primitive arch-detection
 export HOSTTYPE="$HOSTTYPE"
 
 echo "Premake args: ${premake_args}"
 
-premake4/bin/release/premake4 --file="premake4.lua" --outpath="../workspaces/gcc/" ${premake_args} gmake || die "Premake failed"
-premake4/bin/release/premake4 --file="premake4.lua" --outpath="../workspaces/codeblocks/" ${premake_args} codeblocks || die "Premake failed"
+premake5 --outpath="../workspaces/gcc/" ${premake_args} gmake || die "Premake failed"
+premake5 --outpath="../workspaces/codeblocks/" ${premake_args} codeblocks || die "Premake failed"
 
 # Also generate xcode workspaces if on OS X
 if [ "`uname -s`" = "Darwin" ]; then
-  premake4/bin/release/premake4 --file="premake4.lua" --outpath="../workspaces/xcode3" ${premake_args} xcode3 || die "Premake failed"
-  premake4/bin/release/premake4 --file="premake4.lua" --outpath="../workspaces/xcode4" ${premake_args} xcode4 || die "Premake failed"
+  premake5 --outpath="../workspaces/xcode3" ${premake_args} xcode3 || die "Premake failed"
+  premake5 --outpath="../workspaces/xcode4" ${premake_args} xcode4 || die "Premake failed"
 fi
 
 # test_root.cpp gets generated by cxxtestgen and passing different arguments to premake could require a regeneration of this file.
