summaryrefslogtreecommitdiff
path: root/xmake/modules/package/tools/cmake.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2024-06-17 09:31:00 +0800
committerGitHub <[email protected]>2024-06-17 09:31:00 +0800
commitc0762d71c2e98f22414e111fb89da24fc1031d78 (patch)
treef5ee399ba6cb62c4330a1d26fb507f81c6ee3099 /xmake/modules/package/tools/cmake.lua
parent7e7bd92cd45f0de8f41e5e1b39b34c956692d639 (diff)
Update cmake.lua
Diffstat (limited to 'xmake/modules/package/tools/cmake.lua')
-rw-r--r--xmake/modules/package/tools/cmake.lua13
1 files changed, 9 insertions, 4 deletions
diff --git a/xmake/modules/package/tools/cmake.lua b/xmake/modules/package/tools/cmake.lua
index 2523699a8..debe44bd2 100644
--- a/xmake/modules/package/tools/cmake.lua
+++ b/xmake/modules/package/tools/cmake.lua
@@ -288,7 +288,13 @@ function _get_cmake_version()
return cmake_version
end
-function _get_cmake_system_processor(package)
+function _get_cmake_system_processor(package, opt)
+ opt = opt or {}
+ local configs_str = opt._configs_str
+ if configs_str and configs_str:find("CMAKE_SYSTEM_PROCESSOR", 1, true) then
+ return
+ end
+
-- on Windows, CMAKE_SYSTEM_PROCESSOR comes from PROCESSOR_ARCHITECTURE
-- on other systems it's the output of uname -m
if package:is_plat("windows") then
@@ -453,7 +459,7 @@ function _get_configs_for_appleos(package, configs, opt)
end
elseif package:is_cross() then
envs.CMAKE_SYSTEM_NAME = "Darwin"
- envs.CMAKE_SYSTEM_PROCESSOR = _get_cmake_system_processor(package)
+ envs.CMAKE_SYSTEM_PROCESSOR = _get_cmake_system_processor(package, opt)
end
envs.CMAKE_OSX_ARCHITECTURES = package:arch()
envs.CMAKE_FIND_ROOT_PATH_MODE_PACKAGE = "BOTH"
@@ -485,7 +491,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 = _get_cmake_system_processor(package)
+ envs.CMAKE_SYSTEM_PROCESSOR = _get_cmake_system_processor(package, opt)
-- avoid find and add system include/library path
-- @see https://github.com/xmake-io/xmake/issues/2037
envs.CMAKE_FIND_ROOT_PATH = sdkdir
@@ -1209,4 +1215,3 @@ function install(package, configs, opt)
end
os.cd(oldir)
end
-