summaryrefslogtreecommitdiff
path: root/xmake/plugins/project
diff options
context:
space:
mode:
authorruki <[email protected]>2020-06-23 22:37:44 +0800
committerGitHub <[email protected]>2020-06-23 22:37:44 +0800
commitc18d15eb89116a0f3ce96bd56f3ccf861849f6ec (patch)
tree52b63db3274349f9a41872414208c7c30058cfd7 /xmake/plugins/project
parent53df324acd9c7432336a5894ceef578daa1ce38d (diff)
parent18bded45c229f5580c13fc8b4afc5edb6f18819a (diff)
Merge pull request #857 from xmake-io/toolchain
Improve toolchain to support host and cross toolchains at same time
Diffstat (limited to 'xmake/plugins/project')
-rwxr-xr-xxmake/plugins/project/main.lua7
-rw-r--r--xmake/plugins/project/vstudio/impl/vs201x.lua10
-rw-r--r--xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua10
-rw-r--r--xmake/plugins/project/vsxmake/getinfo.lua10
4 files changed, 6 insertions, 31 deletions
diff --git a/xmake/plugins/project/main.lua b/xmake/plugins/project/main.lua
index 0cb8d0d0e..7090413ed 100755
--- a/xmake/plugins/project/main.lua
+++ b/xmake/plugins/project/main.lua
@@ -22,7 +22,6 @@
import("core.base.option")
import("core.base.task")
import("core.project.config")
-import("core.platform.environment")
import("make.makefile")
import("make.xmakefile")
import("cmake.cmakelists")
@@ -82,15 +81,9 @@ function main()
-- config it first
task.run("config")
- -- enter toolchains environment
- environment.enter("toolchains")
-
-- make project
_make(option.get("kind"))
- -- leave toolchains environment
- environment.leave("toolchains")
-
-- trace
cprint("${color.success}create ok!")
end
diff --git a/xmake/plugins/project/vstudio/impl/vs201x.lua b/xmake/plugins/project/vstudio/impl/vs201x.lua
index 1168ae3e7..01a38e670 100644
--- a/xmake/plugins/project/vstudio/impl/vs201x.lua
+++ b/xmake/plugins/project/vstudio/impl/vs201x.lua
@@ -23,7 +23,6 @@ import("core.base.option")
import("core.project.config")
import("core.project.project")
import("core.platform.platform")
-import("core.platform.environment")
import("core.tool.compiler")
import("core.tool.linker")
import("vs201x_solution")
@@ -234,6 +233,9 @@ function make(outputdir, vsinfo)
-- clear project to reload and recheck it
project.clear()
+ -- check configure
+ config.check()
+
-- check project options
project.check()
@@ -247,9 +249,6 @@ function make(outputdir, vsinfo)
-- ensure to enter project directory
os.cd(project.directory())
- -- enter environment (maybe check flags by calling tools)
- environment.enter("toolchains")
-
-- save targets
for targetname, target in pairs(project.targets()) do
if not target:isphony() then
@@ -277,9 +276,6 @@ function make(outputdir, vsinfo)
_make_targetheaders(mode, arch, target, mode_idx == #vsinfo.modes and arch_idx == 2)
end
end
-
- -- leave environment
- environment.leave("toolchains")
end
end
diff --git a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua
index b69651f5f..3e9de321f 100644
--- a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua
+++ b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua
@@ -36,16 +36,6 @@ function _get_toolset_ver(targetinfo, vsinfo)
if not toolset_ver then
toolset_ver = vsinfo.toolset_version
end
-
- -- for xp?
- for _, flag in ipairs(targetinfo.linkflags) do
- if flag:lower():find("^[%-/]subsystem:.-,5%.%d+$") then
- toolset_ver = toolset_ver .. "_xp"
- break
- end
- end
-
- -- done
return toolset_ver
end
diff --git a/xmake/plugins/project/vsxmake/getinfo.lua b/xmake/plugins/project/vsxmake/getinfo.lua
index cbfbf13d9..1cd51035b 100644
--- a/xmake/plugins/project/vsxmake/getinfo.lua
+++ b/xmake/plugins/project/vsxmake/getinfo.lua
@@ -26,7 +26,6 @@ import("core.project.config")
import("core.project.cache")
import("core.project.project")
import("core.platform.platform")
-import("core.platform.environment")
import("core.tool.compiler")
import("core.tool.linker")
import("lib.detect.find_tool")
@@ -285,6 +284,9 @@ function main(outputdir, vsinfo)
-- clear project to reload and recheck it
project.clear()
+ -- check configure
+ config.check()
+
-- check project options
project.check()
@@ -300,9 +302,6 @@ function main(outputdir, vsinfo)
-- ensure to enter project directory
os.cd(project.directory())
- -- enter environment (maybe check flags by calling tools)
- environment.enter("toolchains")
-
-- save targets
for targetname, target in pairs(project.targets()) do
if not target:isphony() then
@@ -333,9 +332,6 @@ function main(outputdir, vsinfo)
_target.deps = table.unique(table.join(_target.deps or {}, table.keys(target:deps()), nil))
end
end
-
- -- leave environment
- environment.leave("toolchains")
end
end