diff options
Diffstat (limited to 'xmake/modules/private/action/require/impl/install_packages.lua')
| -rw-r--r-- | xmake/modules/private/action/require/impl/install_packages.lua | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/xmake/modules/private/action/require/impl/install_packages.lua b/xmake/modules/private/action/require/impl/install_packages.lua index 14dd87e33..8b9a36cf9 100644 --- a/xmake/modules/private/action/require/impl/install_packages.lua +++ b/xmake/modules/private/action/require/impl/install_packages.lua @@ -379,8 +379,8 @@ function _should_install_package(instance) return result end --- install packages -function _install_packages(packages_install, packages_download, installdeps) +-- do install packages +function _do_install_packages(packages_install, packages_download, installdeps) -- we need to hide wait characters if is not a tty local show_wait = io.isatty() @@ -663,9 +663,7 @@ function _get_package_installdeps(packages) end -- install packages -function main(requires, opt) - - -- init options +function _install_packages(requires, opt) opt = opt or {} -- load packages @@ -794,7 +792,7 @@ function main(requires, opt) _sort_packages_urls(packages_download) -- install all required packages from repositories - _install_packages(packages_install, packages_download, installdeps) + _do_install_packages(packages_install, packages_download, installdeps) -- disable other packages in same group _disable_other_packages_in_group(packages) @@ -813,3 +811,13 @@ function main(requires, opt) return packages end +function main(requires, opt) + -- we need to install toolchain packages first, + -- because we will call compiler-specific api in package.on_load, + -- and we will check package toolchains before calling package.on_load + -- + -- @see https://github.com/xmake-io/xmake/pull/5466 + _install_packages(requires, table.join(opt or {}, {toolchain = true})) + return _install_packages(requires, opt) +end + |
