summaryrefslogtreecommitdiff
path: root/xmake
diff options
context:
space:
mode:
authorruki <[email protected]>2017-10-18 23:19:56 +0800
committerruki <[email protected]>2017-10-18 13:59:40 +0800
commit10bb94a674e52aee141ebec8badca5595bd5c409 (patch)
tree22d8cdb7e4f95d7216aabf626211208ce1c1579d /xmake
parent23861f0674fe95fbd277caee6137c13a6b0b419d (diff)
support optional for install and download package
Diffstat (limited to 'xmake')
-rw-r--r--xmake/actions/require/action/build.lua9
-rw-r--r--xmake/actions/require/action/download.lua2
-rw-r--r--xmake/actions/require/action/install.lua4
3 files changed, 13 insertions, 2 deletions
diff --git a/xmake/actions/require/action/build.lua b/xmake/actions/require/action/build.lua
index 4ec5772cc..b8f47b6ec 100644
--- a/xmake/actions/require/action/build.lua
+++ b/xmake/actions/require/action/build.lua
@@ -112,6 +112,15 @@ function _build_for_cmakelists(package, buildfile)
--
os.vrun("cmake -DCMAKE_INSTALL_PREFIX=%s .", path.absolute(".prefix"))
+ -- build on windows
+ if os.host() == "windows" then
+ local slnfiles = os.files("*.sln")
+ if slnfiles and #slnfiles > 0 then
+ _build_for_sln(package, slnfiles[1])
+ return
+ end
+ end
+
-- build it
os.vrun("make")
diff --git a/xmake/actions/require/action/download.lua b/xmake/actions/require/action/download.lua
index e94251d9a..da09c26a1 100644
--- a/xmake/actions/require/action/download.lua
+++ b/xmake/actions/require/action/download.lua
@@ -194,7 +194,7 @@ function main(package)
end
-- failed? break it
- if idx == #urls then
+ if idx == #urls and not package:requireinfo().optional then
raise("download failed!")
end
end
diff --git a/xmake/actions/require/action/install.lua b/xmake/actions/require/action/install.lua
index 6816cbd95..2f76bacd3 100644
--- a/xmake/actions/require/action/install.lua
+++ b/xmake/actions/require/action/install.lua
@@ -277,7 +277,9 @@ function main(package)
cprint("${red}failed")
-- failed
- raise("install failed!")
+ if not package:requireinfo().optional then
+ raise("install failed!")
+ end
end
}
}