From 89b712ae5bee4c8235ba69d5b7e1a38b51884932 Mon Sep 17 00:00:00 2001 From: star9029 Date: Thu, 25 Sep 2025 16:53:12 +0800 Subject: Fix rc compiler with cmake in cross-compilation --- xmake/modules/package/tools/cmake.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xmake/modules/package/tools/cmake.lua b/xmake/modules/package/tools/cmake.lua index 509d250f2..2099481bd 100644 --- a/xmake/modules/package/tools/cmake.lua +++ b/xmake/modules/package/tools/cmake.lua @@ -625,8 +625,11 @@ function _get_configs_for_cross(package, configs, opt) envs.CMAKE_CXX_COMPILER = _translate_bin_path(package:build_getenv("cxx")) envs.CMAKE_ASM_COMPILER = _translate_bin_path(package:build_getenv("as")) envs.CMAKE_AR = _translate_bin_path(package:build_getenv("ar")) - if package:is_plat("windows") and package:has_tool("cxx", "cl") then - envs.CMAKE_AR = path.join(path.directory(envs.CMAKE_CXX_COMPILER), "lib.exe") + if package:is_plat("windows") then + envs.CMAKE_RC_COMPILER = _translate_bin_path(package:build_getenv("mrc")) + if package:has_tool("cxx", "cl") then + envs.CMAKE_AR = path.join(path.directory(envs.CMAKE_CXX_COMPILER), "lib.exe") + end end _fix_cxx_compiler_cmake(package, envs) -- @note The link command line is set in Modules/CMake{C,CXX,Fortran}Information.cmake and defaults to using the compiler, not CMAKE_LINKER, -- cgit v1.3.1