diff options
| author | ruki <[email protected]> | 2018-09-18 22:35:28 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2018-09-18 09:32:50 +0800 |
| commit | 5beacb69348c80688db553c0b671c76237866a49 (patch) | |
| tree | 095a0e3e754bab81d5ae1dcb2b1b6dc390ab8d06 | |
| parent | b39865ce22ec806099bd022f47fcb90a4ac42034 (diff) | |
modify debug package path
| -rw-r--r-- | tests/projects/package/basic/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/actions/require/action/install.lua | 8 | ||||
| -rw-r--r-- | xmake/actions/require/package.lua | 5 | ||||
| -rw-r--r-- | xmake/core/package/package.lua | 12 | ||||
| -rw-r--r-- | xmake/modules/package/builder/xmake.lua | 2 |
5 files changed, 18 insertions, 11 deletions
diff --git a/tests/projects/package/basic/xmake.lua b/tests/projects/package/basic/xmake.lua index f0c0834e6..d84c9b8f8 100644 --- a/tests/projects/package/basic/xmake.lua +++ b/tests/projects/package/basic/xmake.lua @@ -1,6 +1,6 @@ -- requires -add_requires("tbox master") +add_requires("tbox master", {debug = true}) add_requires("zlib >=1.2.11", {optional = true}) add_requires("pcre2", "luajit", {system = false}) diff --git a/xmake/actions/require/action/install.lua b/xmake/actions/require/action/install.lua index 9d6386a15..fcfcbb1b7 100644 --- a/xmake/actions/require/action/install.lua +++ b/xmake/actions/require/action/install.lua @@ -39,10 +39,10 @@ function _make_package(package) local packagedir = path.join(package:directory(), name .. ".pkg") -- the linkdir - local linkdir = path.join(packagedir, "lib/$(mode)/$(plat)/$(arch)") + local linkdir = path.join(packagedir, "lib", get_config("plat"), get_config("arch")) -- the includedir - local includedir = path.join(packagedir, "include/$(mode)/$(plat)/$(arch)") + local includedir = path.join(packagedir, "include", get_config("plat"), get_config("arch")) -- install the library files and ignore hidden files (.xxx) os.tryrm(linkdir) @@ -94,10 +94,10 @@ option("%s") add_links("%s") -- add link directories - add_linkdirs("lib/$(mode)/$(plat)/$(arch)") + add_linkdirs("lib/$(plat)/$(arch)") -- add include directories - add_includedirs("include/$(mode)/$(plat)/$(arch)") + add_includedirs("include/$(plat)/$(arch)") ]] -- save file diff --git a/xmake/actions/require/package.lua b/xmake/actions/require/package.lua index 7cdb0d3fd..768fae002 100644 --- a/xmake/actions/require/package.lua +++ b/xmake/actions/require/package.lua @@ -41,8 +41,8 @@ import("repository") -- add_requires("tbox >=1.5.1", "zlib >=1.2.11") -- add_requires("zlib master") -- add_requires("xmake-repo@tbox >=1.5.1") --- add_requires("aaa_bbb_ccc >=1.5.1 <1.6.0", {optional = true, alias = "mypkg"}) --- add_requires("tbox", {config = {coroutine = true, mode = "debug"}}) +-- add_requires("aaa_bbb_ccc >=1.5.1 <1.6.0", {optional = true, alias = "mypkg", debug = true}) +-- add_requires("tbox", {config = {coroutine = true, abc = "xxx"}}) -- function _parse_require(require_str, requires_extra, parentinfo) @@ -110,6 +110,7 @@ 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 system = require_extra.system, -- default: true, we can set it to disable system package manually option = require_extra.option, -- set and attach option config = require_extra.config, -- the build configuration of package diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua index b96671fe8..51fd8ab01 100644 --- a/xmake/core/package/package.lua +++ b/xmake/core/package/package.lua @@ -203,7 +203,7 @@ end -- get the directory of this package function _instance:directory() - return path.join(package.installdir(self:from("global")), self:name():sub(1, 1):lower(), self:name(), self:version_str()) + return path.join(package.installdir(self:from("global")), self:name():sub(1, 1):lower(), self:name(), self:version_str(), self:debug() and "debug" or "release") end -- get versions @@ -273,8 +273,8 @@ end -- set the require info function _instance:requireinfo_set(requireinfo) self._REQUIREINFO = requireinfo - -- switch to local package if exists package configuration - if requireinfo and requireinfo.config then + -- switch to local package if exists package configuration or debug package + if requireinfo and (requireinfo.config or requireinfo.debug) then self._FROMKIND = "local" end end @@ -299,6 +299,12 @@ function _instance:optional() return requireinfo and requireinfo.optional or false end +-- is debug package? +function _instance:debug() + local requireinfo = self:requireinfo() + return requireinfo and requireinfo.debug or false +end + -- is supported package? function _instance:supported() -- attempt to get the build script with the current plat/arch diff --git a/xmake/modules/package/builder/xmake.lua b/xmake/modules/package/builder/xmake.lua index 1120d8f00..cc97cac91 100644 --- a/xmake/modules/package/builder/xmake.lua +++ b/xmake/modules/package/builder/xmake.lua @@ -40,7 +40,7 @@ function build(package, configs) table.insert(argv, "--" .. name .. "=" .. value) end end - table.insert(argv, "--mode=" .. (is_mode("debug") and "debug" or "release")) + table.insert(argv, "--mode=" .. (package:debug() and "debug" or "release")) -- inherit require and option configs for name, value in pairs(table.join(package:configs() or {}, configs or {})) do |
