diff options
Diffstat (limited to 'xmake/modules/package/tools/cmake.lua')
| -rw-r--r-- | xmake/modules/package/tools/cmake.lua | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/xmake/modules/package/tools/cmake.lua b/xmake/modules/package/tools/cmake.lua index 03cc3f665..4c6898bd7 100644 --- a/xmake/modules/package/tools/cmake.lua +++ b/xmake/modules/package/tools/cmake.lua @@ -435,8 +435,9 @@ function _get_configs_for_appleos(package, configs, opt) if package:is_arch("x86_64", "i386") then envs.CMAKE_OSX_SYSROOT = "iphonesimulator" end - elseif package:is_plat("macosx") then + elseif _is_cross_compilation() then envs.CMAKE_SYSTEM_NAME = "Darwin" + envs.CMAKE_SYSTEM_PROCESSOR = package:targetarch() end envs.CMAKE_OSX_ARCHITECTURES = package:arch() envs.CMAKE_FIND_ROOT_PATH_MODE_PACKAGE = "BOTH" @@ -468,6 +469,7 @@ function _get_configs_for_mingw(package, configs, opt) envs.CMAKE_EXE_LINKER_FLAGS = _get_ldflags(package, opt) envs.CMAKE_SHARED_LINKER_FLAGS = _get_shflags(package, opt) envs.CMAKE_SYSTEM_NAME = "Windows" + envs.CMAKE_SYSTEM_PROCESSOR = package:targetarch() -- avoid find and add system include/library path -- @see https://github.com/xmake-io/xmake/issues/2037 envs.CMAKE_FIND_ROOT_PATH = sdkdir @@ -552,7 +554,7 @@ function _get_configs_for_cross(package, configs, opt) envs.CMAKE_SHARED_LINKER_FLAGS = _get_shflags(package, opt) -- we don't need to set it as cross compilation if we just pass toolchain -- https://github.com/xmake-io/xmake/issues/2170 - if not package:is_plat(os.subhost()) then + if _is_cross_compilation() then local system_name = package:targetos() or "Linux" if system_name == "linux" then system_name = "Linux" @@ -628,7 +630,7 @@ function _get_configs_for_host_toolchain(package, configs, opt) envs.CMAKE_SHARED_LINKER_FLAGS = _get_shflags(package, opt) -- we don't need to set it as cross compilation if we just pass toolchain -- https://github.com/xmake-io/xmake/issues/2170 - if not package:is_plat(os.subhost()) then + if _is_cross_compilation() then envs.CMAKE_SYSTEM_NAME = "Linux" else if package:config("pic") ~= false then |
