diff options
| author | ruki <[email protected]> | 2021-01-05 22:47:27 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-01-05 22:47:27 +0800 |
| commit | d58129c75b789ae464a2da4cd32b2463bd05065e (patch) | |
| tree | 8a01f400e24cbd507511ede73eec62e127f20784 | |
| parent | 44441cbd19a5a0989ddc2c42dde5f32174f414fe (diff) | |
fix cmake paths
| -rw-r--r-- | xmake/modules/package/tools/cmake.lua | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/xmake/modules/package/tools/cmake.lua b/xmake/modules/package/tools/cmake.lua index a126fe514..9c1d032bf 100644 --- a/xmake/modules/package/tools/cmake.lua +++ b/xmake/modules/package/tools/cmake.lua @@ -28,6 +28,22 @@ import("lib.detect.find_file") import("lib.detect.find_tool") import("package.tools.ninja") +-- translate paths +function _translate_paths(paths) + if is_host("windows") then + if type(paths) == "string" then + return (paths:gsub("\\", "/")) + elseif type(paths) == "table" then + local result = {} + for _, p in ipairs(paths) do + table.insert(result, (p:gsub("\\", "/"))) + end + return result + end + end + return paths +end + -- translate windows bin path function _translate_windows_bin_path(bin_path) if bin_path then @@ -44,8 +60,8 @@ function _get_cflags_from_packagedeps(package, opt) local fetchinfo = dep:fetch({external = false}) if fetchinfo then table.join2(result, compiler.map_flags("cxx", "define", fetchinfo.defines)) - table.join2(result, compiler.map_flags("cxx", "includedir", fetchinfo.includedirs)) - table.join2(result, compiler.map_flags("cxx", "sysincludedir", fetchinfo.sysincludedirs)) + table.join2(result, compiler.map_flags("cxx", "includedir", _translate_paths(fetchinfo.includedirs))) + table.join2(result, compiler.map_flags("cxx", "sysincludedir", _translate_paths(fetchinfo.sysincludedirs))) end end end @@ -60,9 +76,9 @@ function _get_ldflags_from_packagedeps(package, opt) if dep then local fetchinfo = dep:fetch({external = false}) if fetchinfo then - table.join2(result, linker.map_flags("binary", {"cxx"}, "linkdir", fetchinfo.linkdirs)) + table.join2(result, linker.map_flags("binary", {"cxx"}, "linkdir", _translate_paths(fetchinfo.linkdirs))) table.join2(result, linker.map_flags("binary", {"cxx"}, "link", fetchinfo.links)) - table.join2(result, linker.map_flags("binary", {"cxx"}, "syslink", fetchinfo.syslinks)) + table.join2(result, linker.map_flags("binary", {"cxx"}, "syslink", _translate_paths(fetchinfo.syslinks))) end end end |
