diff options
| author | 白喵 <[email protected]> | 2024-07-22 13:34:59 +0800 |
|---|---|---|
| committer | 白喵 <[email protected]> | 2024-07-22 13:34:59 +0800 |
| commit | d3f4cf3871782744ebbcb0898a0c5df69d924b15 (patch) | |
| tree | aeeda3a69706bec9a5522f4c91e42ca89d1b5bca /xmake/modules/package/tools/cmake.lua | |
| parent | ef289c5915fd1f8d770333126e0bea39ed504177 (diff) | |
refactor policy msbuild.multi_tool_task
Diffstat (limited to 'xmake/modules/package/tools/cmake.lua')
| -rw-r--r-- | xmake/modules/package/tools/cmake.lua | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/xmake/modules/package/tools/cmake.lua b/xmake/modules/package/tools/cmake.lua index 6055d813c..172f11f35 100644 --- a/xmake/modules/package/tools/cmake.lua +++ b/xmake/modules/package/tools/cmake.lua @@ -29,6 +29,7 @@ import("core.project.project") import("lib.detect.find_file") import("lib.detect.find_tool") import("package.tools.ninja") +import("package.tools.msbuild") import("detect.sdks.find_emsdk") import("private.utils.toolchain", {alias = "toolchain_utils"}) @@ -945,14 +946,8 @@ end -- do build for msvc function _build_for_msvc(package, configs, opt) - local jobs = _get_parallel_njobs(opt) local slnfile = assert(find_file("*.sln", os.curdir()), "*.sln file not found!") - local runenvs = _get_msvc_runenvs(package) - local msbuild = find_tool("msbuild", {envs = runenvs}) - os.vrunv(msbuild.program, {slnfile, "-nologo", "-t:Rebuild", - (jobs ~= nil and format("-m:%d", jobs) or "-m"), - "-p:Configuration=" .. (package:is_debug() and "Debug" or "Release"), - "-p:Platform=" .. _get_vsarch(package)}, {envs = runenvs}) + msbuild.build(package, {slnfile, "-t:Rebuild"}) end -- do build for make @@ -1013,17 +1008,11 @@ end -- do install for msvc function _install_for_msvc(package, configs, opt) - local jobs = _get_parallel_njobs(opt) local slnfile = assert(find_file("*.sln", os.curdir()), "*.sln file not found!") - local runenvs = _get_msvc_runenvs(package) - local msbuild = assert(find_tool("msbuild", {envs = runenvs}), "msbuild not found!") - os.vrunv(msbuild.program, {slnfile, "-nologo", "-t:Rebuild", "/nr:false", - (jobs ~= nil and format("-m:%d", jobs) or "-m"), - "-p:Configuration=" .. (package:is_debug() and "Debug" or "Release"), - "-p:Platform=" .. _get_vsarch(package)}, {envs = runenvs}) + msbuild.build(package, {slnfile, "-t:Rebuild", "/nr:false"}) local projfile = os.isfile("INSTALL.vcxproj") and "INSTALL.vcxproj" or "INSTALL.vcproj" if os.isfile(projfile) then - os.vrunv(msbuild.program, {projfile, "/property:configuration=" .. (package:is_debug() and "Debug" or "Release")}, {envs = runenvs}) + msbuild.build(package, {projfile}) os.trycp("install/bin", package:installdir()) os.trycp("install/lib", package:installdir()) -- perhaps only headers library os.trycp("install/share", package:installdir()) |
