summaryrefslogtreecommitdiff
path: root/xmake/modules/package/tools/cmake.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2021-02-14 21:39:14 +0800
committerruki <[email protected]>2021-02-14 21:39:14 +0800
commit5503ff4066cdf3a4c84859886c48c748a7493ef8 (patch)
tree1804028a35b736f50347caea38482d6c1fc4203e /xmake/modules/package/tools/cmake.lua
parent916228567b6892afe7486bef61b12e409670a208 (diff)
fix path for tools/cmake
Diffstat (limited to 'xmake/modules/package/tools/cmake.lua')
-rw-r--r--xmake/modules/package/tools/cmake.lua49
1 files changed, 20 insertions, 29 deletions
diff --git a/xmake/modules/package/tools/cmake.lua b/xmake/modules/package/tools/cmake.lua
index f705a4f40..6b390e075 100644
--- a/xmake/modules/package/tools/cmake.lua
+++ b/xmake/modules/package/tools/cmake.lua
@@ -44,11 +44,12 @@ function _translate_paths(paths)
return paths
end
--- translate windows bin path
-function _translate_windows_bin_path(bin_path)
- if bin_path then
+-- translate bin path
+function _translate_bin_path(bin_path)
+ if is_host("windows") and bin_path then
return bin_path:gsub("\\", "/") .. ".exe"
end
+ return bin_path
end
-- get cflags from package deps
@@ -302,26 +303,16 @@ end
-- get configs for mingw
function _get_configs_for_mingw(package, configs, opt)
opt = opt or {}
+ opt.cross = true
local envs = {}
local sdkdir = package:build_getenv("mingw") or package:build_getenv("sdk")
- if is_host("windows") then
- envs.CMAKE_C_COMPILER = _translate_windows_bin_path(package:build_getenv("cc"))
- envs.CMAKE_CXX_COMPILER = _translate_windows_bin_path(package:build_getenv("cxx"))
- envs.CMAKE_ASM_COMPILER = _translate_windows_bin_path(package:build_getenv("as"))
- envs.CMAKE_AR = _translate_windows_bin_path(package:build_getenv("ar"))
- envs.CMAKE_LINKER = _translate_windows_bin_path(package:build_getenv("ld"))
- envs.CMAKE_RANLIB = _translate_windows_bin_path(package:build_getenv("ranlib"))
- envs.CMAKE_RC_COMPILER = _translate_windows_bin_path(package:build_getenv("mrc"))
- else
- envs.CMAKE_C_COMPILER = package:build_getenv("cc")
- envs.CMAKE_CXX_COMPILER = package:build_getenv("cxx")
- envs.CMAKE_ASM_COMPILER = package:build_getenv("as")
- envs.CMAKE_AR = package:build_getenv("ar")
- envs.CMAKE_LINKER = package:build_getenv("ld")
- envs.CMAKE_RANLIB = package:build_getenv("ranlib")
- envs.CMAKE_RC_COMPILER = package:build_getenv("mrc")
- end
- opt.cross = true
+ envs.CMAKE_C_COMPILER = _translate_bin_path(package:build_getenv("cc"))
+ 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"))
+ envs.CMAKE_LINKER = _translate_bin_path(package:build_getenv("ld"))
+ envs.CMAKE_RANLIB = _translate_bin_path(package:build_getenv("ranlib"))
+ envs.CMAKE_RC_COMPILER = _translate_bin_path(package:build_getenv("mrc"))
envs.CMAKE_C_FLAGS = _get_cflags(package, opt)
envs.CMAKE_CXX_FLAGS = _get_cxxflags(package, opt)
envs.CMAKE_ASM_FLAGS = _get_asflags(package, opt)
@@ -347,15 +338,15 @@ end
-- get configs for cross
function _get_configs_for_cross(package, configs, opt)
opt = opt or {}
- local envs = {}
- local sdkdir = package:build_getenv("sdk")
opt.cross = true
- envs.CMAKE_C_COMPILER = package:build_getenv("cc")
- envs.CMAKE_CXX_COMPILER = package:build_getenv("cxx")
- envs.CMAKE_ASM_COMPILER = package:build_getenv("as")
- envs.CMAKE_AR = package:build_getenv("ar")
- envs.CMAKE_LINKER = package:build_getenv("ld")
- envs.CMAKE_RANLIB = package:build_getenv("ranlib")
+ local envs = {}
+ local sdkdir = _translate_paths(package:build_getenv("sdk"))
+ envs.CMAKE_C_COMPILER = _translate_bin_path(package:build_getenv("cc"))
+ 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"))
+ envs.CMAKE_LINKER = _translate_bin_path(package:build_getenv("ld"))
+ envs.CMAKE_RANLIB = _translate_bin_path(package:build_getenv("ranlib"))
envs.CMAKE_C_FLAGS = _get_cflags(package, opt)
envs.CMAKE_CXX_FLAGS = _get_cxxflags(package, opt)
envs.CMAKE_ASM_FLAGS = _get_asflags(package, opt)