summaryrefslogtreecommitdiff
path: root/xmake/actions/require/impl/package.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2019-03-15 23:29:14 +0800
committerruki <[email protected]>2019-03-15 14:55:26 +0800
commit62540eacb93339ebbdc36156834f4fc19aa19e64 (patch)
tree20fb871fec0887a3a6e748ea791dbd44bc125b05 /xmake/actions/require/impl/package.lua
parentcc02a8d5a54dd46a63f0da144cfb35b12dcf3263 (diff)
pass vs runtime to package
Diffstat (limited to 'xmake/actions/require/impl/package.lua')
-rw-r--r--xmake/actions/require/impl/package.lua24
1 files changed, 19 insertions, 5 deletions
diff --git a/xmake/actions/require/impl/package.lua b/xmake/actions/require/impl/package.lua
index 06fa89a1e..ebe1b6edc 100644
--- a/xmake/actions/require/impl/package.lua
+++ b/xmake/actions/require/impl/package.lua
@@ -124,7 +124,6 @@ function _parse_require(require_str, requires_extra, parentinfo)
reponame = reponame,
version = version,
alias = require_extra.alias, -- set package alias name
- debug = require_extra.debug, -- uses the debug package, default: false
group = require_extra.group, -- only uses the first package in same group
system = require_extra.system, -- default: true, we can set it to disable system package manually
option = require_extra.option, -- set and attach option
@@ -241,6 +240,18 @@ function _sort_packagedeps(package)
return orderdeps
end
+-- add some builtin configs to package
+function _add_package_configs(package)
+ package:add("configs", "debug", {builtin = true, description = "Enable debug symbols.", default = false, type = "boolean"})
+ package:add("configs", "cflags", {builtin = true, description = "Set the C compiler flags."})
+ package:add("configs", "cxflags", {builtin = true, description = "Set the C/C++ compiler flags."})
+ package:add("configs", "cxxflags", {builtin = true, description = "Set the C++ compiler flags."})
+ package:add("configs", "ldflags", {builtin = true, description = "Set the binary linker flags."})
+ package:add("configs", "arflags", {builtin = true, description = "Set the static library archiver flags."})
+ package:add("configs", "shflags", {builtin = true, description = "Set the shared library linker flags."})
+ package:add("configs", "vs_runtime", {builtin = true, description = "Set vs compiler runtime.", default = "MT", values = {"MT", "MD"}})
+end
+
-- load all required packages
function _load_packages(requires, opt)
@@ -271,6 +282,9 @@ function _load_packages(requires, opt)
package._ORDERDEPS = table.unique(_sort_packagedeps(package))
end
+ -- add some builtin configs to package
+ _add_package_configs(package)
+
-- save this package package
table.insert(packages, package)
end
@@ -293,7 +307,7 @@ function _sort_packages_urls(packages)
package:urls_set(fasturl.sort(package:urls()))
end
end
-
+
-- check the configurations of packages
--
-- package("pcre2")
@@ -456,6 +470,9 @@ function load_packages(requires, opt)
-- select packages version
_select_packages_version(packages)
+ -- check the configurations of packages
+ _check_packages_configs(packages)
+
-- remove repeat packages with same the package name and version
local unique = {}
local results = {}
@@ -486,9 +503,6 @@ function install_packages(requires, opt)
-- load packages
local packages = load_packages(requires, opt)
- -- check the configurations of packages
- _check_packages_configs(packages)
-
-- fetch packages (with system) from local first
if not option.get("force") then
process.runjobs(function (index)