mailiverse/cpp/Lib/pugixml-1.2/scripts/premake4.lua
2013-07-25 22:51:23 -04:00

93 lines
2.3 KiB
Lua

-- 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