summaryrefslogtreecommitdiff
path: root/xmake/modules/package/tools/cmake.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2024-08-31 00:41:43 +0800
committerruki <[email protected]>2024-08-31 00:41:43 +0800
commit8317c6570c5abcd0e054741f58770b7eb57ec744 (patch)
tree0d2a15628e5c283e962dad46e54b27bd6894134f /xmake/modules/package/tools/cmake.lua
parenta50553989fd578547255c34616fff4e18ba84784 (diff)
remove fake_target
Diffstat (limited to 'xmake/modules/package/tools/cmake.lua')
-rw-r--r--xmake/modules/package/tools/cmake.lua66
1 files changed, 27 insertions, 39 deletions
diff --git a/xmake/modules/package/tools/cmake.lua b/xmake/modules/package/tools/cmake.lua
index 938d96dad..10ca6cbe6 100644
--- a/xmake/modules/package/tools/cmake.lua
+++ b/xmake/modules/package/tools/cmake.lua
@@ -23,8 +23,6 @@ import("core.base.option")
import("core.base.semver")
import("core.tool.toolchain")
import("core.project.config")
-import("core.tool.linker")
-import("core.tool.compiler")
import("core.project.project")
import("lib.detect.find_file")
import("lib.detect.find_tool")
@@ -67,16 +65,6 @@ function _translate_bin_path(bin_path)
return bin_path
end
--- map compiler flags
-function _map_compflags(package, langkind, name, values)
- return compiler.map_flags(langkind, name, values, {target = package})
-end
-
--- map linker flags
-function _map_linkflags(package, targetkind, sourcekinds, name, values)
- return linker.map_flags(targetkind, sourcekinds, name, values, {target = package})
-end
-
-- get pkg-config, we need force to find it, because package install environments will be changed
function _get_pkgconfig(package)
-- meson need fullpath pkgconfig
@@ -146,13 +134,13 @@ function _get_cflags_from_packagedeps(package, opt)
local result = {}
if values then
if values.defines then
- table.join2(result, _map_compflags(package, "cxx", "define", values.defines))
+ table.join2(result, toolchain_utils.map_compflags(package, "cxx", "define", values.defines))
end
if values.includedirs then
- table.join2(result, _translate_paths(_map_compflags(package, "cxx", "includedir", values.includedirs)))
+ table.join2(result, _translate_paths(toolchain_utils.map_compflags(package, "cxx", "includedir", values.includedirs)))
end
if values.sysincludedirs then
- table.join2(result, _translate_paths(_map_compflags(package, "cxx", "sysincludedir", values.sysincludedirs)))
+ table.join2(result, _translate_paths(toolchain_utils.map_compflags(package, "cxx", "sysincludedir", values.sysincludedirs)))
end
end
return result
@@ -177,16 +165,16 @@ function _get_ldflags_from_packagedeps(package, opt)
local result = {}
if values then
if values.linkdirs then
- table.join2(result, _translate_paths(_map_linkflags(package, "binary", {"cxx"}, "linkdir", values.linkdirs)))
+ table.join2(result, _translate_paths(toolchain_utils.map_linkflags(package, "binary", {"cxx"}, "linkdir", values.linkdirs)))
end
if values.links then
- table.join2(result, _map_linkflags(package, "binary", {"cxx"}, "link", values.links))
+ table.join2(result, toolchain_utils.map_linkflags(package, "binary", {"cxx"}, "link", values.links))
end
if values.syslinks then
- table.join2(result, _translate_paths(_map_linkflags(package, "binary", {"cxx"}, "syslink", values.syslinks)))
+ table.join2(result, _translate_paths(toolchain_utils.map_linkflags(package, "binary", {"cxx"}, "syslink", values.syslinks)))
end
if values.frameworks then
- table.join2(result, _map_linkflags(package, "binary", {"cxx"}, "framework", values.frameworks))
+ table.join2(result, toolchain_utils.map_linkflags(package, "binary", {"cxx"}, "framework", values.frameworks))
end
end
return result
@@ -199,9 +187,9 @@ function _get_cflags(package, opt)
if opt.cross then
table.join2(result, package:build_getenv("cflags"))
table.join2(result, package:build_getenv("cxflags"))
- table.join2(result, _map_compflags(package, "c", "define", package:build_getenv("defines")))
- table.join2(result, _map_compflags(package, "c", "includedir", package:build_getenv("includedirs")))
- table.join2(result, _map_compflags(package, "c", "sysincludedir", package:build_getenv("sysincludedirs")))
+ table.join2(result, toolchain_utils.map_compflags(package, "c", "define", package:build_getenv("defines")))
+ table.join2(result, toolchain_utils.map_compflags(package, "c", "includedir", package:build_getenv("includedirs")))
+ table.join2(result, toolchain_utils.map_compflags(package, "c", "sysincludedir", package:build_getenv("sysincludedirs")))
end
table.join2(result, package:config("cflags"))
table.join2(result, package:config("cxflags"))
@@ -230,9 +218,9 @@ function _get_cxxflags(package, opt)
if opt.cross then
table.join2(result, package:build_getenv("cxxflags"))
table.join2(result, package:build_getenv("cxflags"))
- table.join2(result, _map_compflags(package, "cxx", "define", package:build_getenv("defines")))
- table.join2(result, _map_compflags(package, "cxx", "includedir", package:build_getenv("includedirs")))
- table.join2(result, _map_compflags(package, "cxx", "sysincludedir", package:build_getenv("sysincludedirs")))
+ table.join2(result, toolchain_utils.map_compflags(package, "cxx", "define", package:build_getenv("defines")))
+ table.join2(result, toolchain_utils.map_compflags(package, "cxx", "includedir", package:build_getenv("includedirs")))
+ table.join2(result, toolchain_utils.map_compflags(package, "cxx", "sysincludedir", package:build_getenv("sysincludedirs")))
end
table.join2(result, package:config("cxxflags"))
table.join2(result, package:config("cxflags"))
@@ -260,9 +248,9 @@ function _get_asflags(package, opt)
local result = {}
if opt.cross then
table.join2(result, package:build_getenv("asflags"))
- table.join2(result, _map_compflags(package, "as", "define", package:build_getenv("defines")))
- table.join2(result, _map_compflags(package, "as", "includedir", package:build_getenv("includedirs")))
- table.join2(result, _map_compflags(package, "as", "sysincludedir", package:build_getenv("sysincludedirs")))
+ table.join2(result, toolchain_utils.map_compflags(package, "as", "define", package:build_getenv("defines")))
+ table.join2(result, toolchain_utils.map_compflags(package, "as", "includedir", package:build_getenv("includedirs")))
+ table.join2(result, toolchain_utils.map_compflags(package, "as", "sysincludedir", package:build_getenv("sysincludedirs")))
end
table.join2(result, package:config("asflags"))
if opt.asflags then
@@ -279,9 +267,9 @@ function _get_ldflags(package, opt)
local result = {}
if opt.cross then
table.join2(result, package:build_getenv("ldflags"))
- table.join2(result, _map_linkflags(package, "binary", {"cxx"}, "link", package:build_getenv("links")))
- table.join2(result, _map_linkflags(package, "binary", {"cxx"}, "syslink", package:build_getenv("syslinks")))
- table.join2(result, _map_linkflags(package, "binary", {"cxx"}, "linkdir", package:build_getenv("linkdirs")))
+ table.join2(result, toolchain_utils.map_linkflags(package, "binary", {"cxx"}, "link", package:build_getenv("links")))
+ table.join2(result, toolchain_utils.map_linkflags(package, "binary", {"cxx"}, "syslink", package:build_getenv("syslinks")))
+ table.join2(result, toolchain_utils.map_linkflags(package, "binary", {"cxx"}, "linkdir", package:build_getenv("linkdirs")))
end
table.join2(result, package:config("ldflags"))
if package:config("lto") then
@@ -305,9 +293,9 @@ function _get_shflags(package, opt)
local result = {}
if opt.cross then
table.join2(result, package:build_getenv("shflags"))
- table.join2(result, _map_linkflags(package, "shared", {"cxx"}, "link", package:build_getenv("links")))
- table.join2(result, _map_linkflags(package, "shared", {"cxx"}, "syslink", package:build_getenv("syslinks")))
- table.join2(result, _map_linkflags(package, "shared", {"cxx"}, "linkdir", package:build_getenv("linkdirs")))
+ table.join2(result, toolchain_utils.map_linkflags(package, "shared", {"cxx"}, "link", package:build_getenv("links")))
+ table.join2(result, toolchain_utils.map_linkflags(package, "shared", {"cxx"}, "syslink", package:build_getenv("syslinks")))
+ table.join2(result, toolchain_utils.map_linkflags(package, "shared", {"cxx"}, "linkdir", package:build_getenv("linkdirs")))
end
table.join2(result, package:config("shflags"))
if package:config("lto") then
@@ -881,11 +869,11 @@ function _get_envs_for_runtime_flags(package, configs, opt)
local envs = {}
local runtimes = package:runtimes()
if runtimes then
- envs[format("CMAKE_C_FLAGS_%s", buildtype)] = _map_compflags(package, "c", "runtime", runtimes)
- envs[format("CMAKE_CXX_FLAGS_%s", buildtype)] = _map_compflags(package, "cxx", "runtime", runtimes)
- envs[format("CMAKE_EXE_LINKER_FLAGS_%s", buildtype)] = _map_linkflags(package, "binary", {"cxx"}, "runtime", runtimes)
- envs[format("CMAKE_STATIC_LINKER_FLAGS_%s", buildtype)] = _map_linkflags(package, "static", {"cxx"}, "runtime", runtimes)
- envs[format("CMAKE_SHARED_LINKER_FLAGS_%s", buildtype)] = _map_linkflags(package, "shared", {"cxx"}, "runtime", runtimes)
+ envs[format("CMAKE_C_FLAGS_%s", buildtype)] = toolchain_utils.map_compflags(package, "c", "runtime", runtimes)
+ envs[format("CMAKE_CXX_FLAGS_%s", buildtype)] = toolchain_utils.map_compflags(package, "cxx", "runtime", runtimes)
+ envs[format("CMAKE_EXE_LINKER_FLAGS_%s", buildtype)] = toolchain_utils.map_linkflags(package, "binary", {"cxx"}, "runtime", runtimes)
+ envs[format("CMAKE_STATIC_LINKER_FLAGS_%s", buildtype)] = toolchain_utils.map_linkflags(package, "static", {"cxx"}, "runtime", runtimes)
+ envs[format("CMAKE_SHARED_LINKER_FLAGS_%s", buildtype)] = toolchain_utils.map_linkflags(package, "shared", {"cxx"}, "runtime", runtimes)
end
return envs
end