Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/premake-4.x-stable.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/_premake_main.lua')
-rw-r--r--src/_premake_main.lua70
1 files changed, 35 insertions, 35 deletions
diff --git a/src/_premake_main.lua b/src/_premake_main.lua
index d0cef0a..0cb82b4 100644
--- a/src/_premake_main.lua
+++ b/src/_premake_main.lua
@@ -8,7 +8,7 @@
local scriptfile = "premake4.lua"
local shorthelp = "Type 'premake4 --help' for help"
local versionhelp = "premake4 (Premake Build Script Generator) %s"
-
+
_WORKING_DIR = os.getcwd()
@@ -20,53 +20,53 @@
local function injectplatform(platform)
if not platform then return true end
platform = premake.checkvalue(platform, premake.fields.platforms.allowed)
-
+
for sln in premake.solution.each() do
local platforms = sln.platforms or { }
-
+
-- an empty table is equivalent to a native build
if #platforms == 0 then
table.insert(platforms, "Native")
end
-
+
-- the solution must provide a native build in order to support this feature
if not table.contains(platforms, "Native") then
return false, sln.name .. " does not target native platform\nNative platform settings are required for the --platform feature."
end
-
+
-- add it to the end of the list, if it isn't in there already
if not table.contains(platforms, platform) then
table.insert(platforms, platform)
end
-
+
sln.platforms = platforms
end
-
+
return true
end
-
+
--
-- Script-side program entry point.
--
function _premake_main(scriptpath)
-
- -- if running off the disk (in debug mode), load everything
+
+ -- if running off the disk (in debug mode), load everything
-- listed in _manifest.lua; the list divisions make sure
-- everything gets initialized in the proper order.
-
+
if (scriptpath) then
local scripts = dofile(scriptpath .. "/_manifest.lua")
for _,v in ipairs(scripts) do
dofile(scriptpath .. "/" .. v)
end
end
-
+
-- Now that the scripts are loaded, I can use path.getabsolute() to properly
-- canonicalize the executable path.
-
+
_PREMAKE_COMMAND = path.getabsolute(_PREMAKE_COMMAND)
@@ -75,15 +75,15 @@
premake.action.set(_ACTION)
-
+
-- Seed the random number generator so actions don't have to do it themselves
-
+
math.randomseed(os.time())
-
-
+
+
-- If there is a project script available, run it to get the
-- project information, available options and actions, etc.
-
+
local fname = _OPTIONS["file"] or scriptfile
if (os.isfile(fname)) then
dofile(fname)
@@ -91,36 +91,36 @@
-- Process special options
-
+
if (_OPTIONS["version"]) then
printf(versionhelp, _PREMAKE_VERSION)
return 1
end
-
+
if (_OPTIONS["help"]) then
premake.showhelp()
return 1
end
-
-
+
+
-- If no action was specified, show a short help message
-
+
if (not _ACTION) then
print(shorthelp)
return 1
end
-
+
-- If there wasn't a project script I've got to bail now
-
+
if (not os.isfile(fname)) then
error("No Premake script ("..scriptfile..") found!", 2)
end
-
+
-- Validate the command-line arguments. This has to happen after the
-- script has run to allow for project-specific options
-
+
action = premake.action.current()
if (not action) then
error("Error: no such action '" .. _ACTION .. "'", 0)
@@ -128,28 +128,28 @@
ok, err = premake.option.validate(_OPTIONS)
if (not ok) then error("Error: " .. err, 0) end
-
+
-- Sanity check the current project setup
ok, err = premake.checktools()
if (not ok) then error("Error: " .. err, 0) end
-
-
+
+
-- If a platform was specified on the command line, inject it now
ok, err = injectplatform(_OPTIONS["platform"])
if (not ok) then error("Error: " .. err, 0) end
-
+
-- work-in-progress: build the configurations
print("Building configurations...")
premake.bake.buildconfigs()
-
+
ok, err = premake.checkprojects()
if (not ok) then error("Error: " .. err, 0) end
-
-
+
+
-- Hand over control to the action
printf("Running action '%s'...", action.trigger)
premake.action.call(action.trigger)
@@ -158,4 +158,4 @@
return 0
end
-
+