-- Reset RNG seed to get consistent results across runs (i.e. XCode) math.randomseed(12345) local static = _ARGS[1] == 'static' local action = premake.action.current() if string.startswith(_ACTION, "vs") then if action then -- Disable solution generation function action.onsolution(sln) sln.vstudio_configs = premake.vstudio_buildconfigs(sln) end -- Rename output file function action.onproject(prj) local name = "%%_" .. _ACTION .. (static and "_static" or "") if static then for k, v in pairs(prj.project.__configs) do v.objectsdir = v.objectsdir .. "Static" end end if _ACTION == "vs2010" then premake.generate(prj, name .. ".vcxproj", premake.vs2010_vcxproj) else premake.generate(prj, name .. ".vcproj", premake.vs200x_vcproj) end end end elseif _ACTION == "codeblocks" then action.onsolution = nil function action.onproject(prj) premake.generate(prj, "%%_" .. _ACTION .. ".cbp", premake.codeblocks_cbp) end elseif _ACTION == "codelite" then action.onsolution = nil function action.onproject(prj) premake.generate(prj, "%%_" .. _ACTION .. ".project", premake.codelite_project) end end solution "pugixml" objdir(_ACTION) targetdir(_ACTION) if string.startswith(_ACTION, "vs") then if _ACTION ~= "vs2002" and _ACTION ~= "vs2003" then platforms { "x32", "x64" } configuration "x32" targetdir(_ACTION .. "/x32") configuration "x64" targetdir(_ACTION .. "/x64") end configurations { "Debug", "Release" } if static then configuration "Debug" targetsuffix "sd" configuration "Release" targetsuffix "s" else configuration "Debug" targetsuffix "d" end else if _ACTION == "xcode3" then platforms "universal" end configurations { "Debug", "Release" } configuration "Debug" targetsuffix "d" end project "pugixml" kind "StaticLib" language "C++" files { "../src/pugixml.hpp", "../src/pugiconfig.hpp", "../src/pugixml.cpp" } flags { "NoPCH", "NoMinimalRebuild", "NoEditAndContinue", "Symbols" } uuid "89A1E353-E2DC-495C-B403-742BE206ACED" configuration "Debug" defines { "_DEBUG" } configuration "Release" defines { "NDEBUG" } flags { "Optimize" } if static then configuration "*" flags { "StaticRuntime" } end