summaryrefslogtreecommitdiff
path: root/xmake
diff options
context:
space:
mode:
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
}
}