summaryrefslogtreecommitdiff
path: root/xmake/plugins
diff options
context:
space:
mode:
authorruki <[email protected]>2021-03-10 11:09:25 +0800
committerGitHub <[email protected]>2021-03-10 11:09:25 +0800
commit548a0ad47f341bee0d757be53e478697decc39a5 (patch)
tree3285d6cbb6a88a445624651488026a01ba26ec40 /xmake/plugins
parentaeda97353dd23f22b7d7cda78eb3d10470177d55 (diff)
parent138a9cbec0156f31c82588314b04ecf4b1b6c847 (diff)
Merge pull request #1277 from xmake-io/vsxmake
improve vsxmake plugin to support `set_default(false)`
Diffstat (limited to 'xmake/plugins')
-rw-r--r--xmake/plugins/project/vstudio/impl/vs201x_solution.lua2
-rw-r--r--xmake/plugins/project/vsxmake/getinfo.lua5
-rw-r--r--xmake/plugins/project/vsxmake/vsproj/Xmake.targets13
-rw-r--r--xmake/plugins/project/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch)1
4 files changed, 13 insertions, 8 deletions
diff --git a/xmake/plugins/project/vstudio/impl/vs201x_solution.lua b/xmake/plugins/project/vstudio/impl/vs201x_solution.lua
index 8b018a5d4..c4628190f 100644
--- a/xmake/plugins/project/vstudio/impl/vs201x_solution.lua
+++ b/xmake/plugins/project/vstudio/impl/vs201x_solution.lua
@@ -52,7 +52,7 @@ function _make_projects(slnfile, vsinfo)
table.insert(targets, 1, target)
elseif target:is_binary() then
local first_target = targets[1]
- if not first_target or first_target:get("default") ~= true then
+ if not first_target or first_target:is_default() then
table.insert(targets, 1, target)
else
table.insert(targets, target)
diff --git a/xmake/plugins/project/vsxmake/getinfo.lua b/xmake/plugins/project/vsxmake/getinfo.lua
index f2d54fdfe..396b7def3 100644
--- a/xmake/plugins/project/vsxmake/getinfo.lua
+++ b/xmake/plugins/project/vsxmake/getinfo.lua
@@ -136,6 +136,9 @@ function _make_targetinfo(mode, arch, target)
-- save target kind
targetinfo.kind = target:get("kind")
+ -- is default?
+ targetinfo.default = tostring(target:is_default())
+
-- save target file
targetinfo.basename = _escape(target:get("basename"))
targetinfo.filename = _escape(target:get("filename"))
@@ -474,7 +477,7 @@ function main(outputdir, vsinfo)
table.insert(targetnames, 1, targetname)
elseif target:is_binary() then
local first_target = targetnames[1] and project.target(targetnames[1])
- if not first_target or first_target:get("default") ~= true then
+ if not first_target or first_target:is_default() then
table.insert(targetnames, 1, targetname)
else
table.insert(targetnames, targetname)
diff --git a/xmake/plugins/project/vsxmake/vsproj/Xmake.targets b/xmake/plugins/project/vsxmake/vsproj/Xmake.targets
index 78b6e5bca..638c7dd04 100644
--- a/xmake/plugins/project/vsxmake/vsproj/Xmake.targets
+++ b/xmake/plugins/project/vsxmake/vsproj/Xmake.targets
@@ -94,14 +94,14 @@
Text="$(XmakeProjectFile) not found at '$(XmakeProjectDirResolved)', please set XmakeProjectDir in vcxproj file" />
</Target>
<Target Name="_XmakeConfig" DependsOnTargets="_XmakeProjCheck">
- <Message Text="$xmake config $(_XmakeCommonFlags) $(_XmakeConfigFlags)" Importance="High" />
+ <Message Text="$xmake config $(_XmakeCommonFlags) $(_XmakeConfigFlags)" Importance="High" Condition="'$(XmakeDefault)' != 'false'" />
<Exec StdOutEncoding="utf-8" StdErrEncoding="utf-8" Command="$(_XmakeEnv)
- $(_XmakeExecutable) config $(_XmakeCommonFlags) $(_XmakeConfigFlags)" EchoOff="true" />
+ $(_XmakeExecutable) config $(_XmakeCommonFlags) $(_XmakeConfigFlags)" EchoOff="true" Condition="'$(XmakeDefault)' != 'false'" />
</Target>
<Target Name="_XmakeBuild" DependsOnTargets="_XmakeProjCheck">
- <Message Text="$xmake build $(_XmakeCommonFlags) $(_XmakeBuildFlags) $(XmakeTarget)" Importance="High" />
+ <Message Text="$xmake build $(_XmakeCommonFlags) $(_XmakeBuildFlags) $(XmakeTarget)" Importance="High" Condition="'$(XmakeDefault)' != 'false'" />
<Exec StdOutEncoding="utf-8" StdErrEncoding="utf-8" Command="$(_XmakeEnv)
- $(_XmakeExecutable) build $(_XmakeCommonFlags) $(_XmakeBuildFlags) $(XmakeTarget)" EchoOff="true" />
+ $(_XmakeExecutable) build $(_XmakeCommonFlags) $(_XmakeBuildFlags) $(XmakeTarget)" EchoOff="true" Condition="'$(XmakeDefault)' != 'false'" />
</Target>
<Target Name="_XmakeBuildFile" DependsOnTargets="_XmakeProjCheck">
<ItemGroup>
@@ -116,9 +116,9 @@
$(_XmakeExecutable) build $(_XmakeCommonFlags) $(_XmakeBuildFileFlags) $(FileFlag) $(XmakeTarget)" EchoOff="true" />
</Target>
<Target Name="_XmakeClean" DependsOnTargets="_XmakeProjCheck">
- <Message Text="$xmake clean $(_XmakeCommonFlags) $(_XmakeCleanFlags) $(XmakeTarget)" Importance="High" />
+ <Message Text="$xmake clean $(_XmakeCommonFlags) $(_XmakeCleanFlags) $(XmakeTarget)" Importance="High" Condition="'$(XmakeDefault)' != 'false'" />
<Exec StdOutEncoding="utf-8" StdErrEncoding="utf-8" Command="$(_XmakeEnv)
- $(_XmakeExecutable) clean $(_XmakeCommonFlags) $(_XmakeCleanFlags) $(XmakeTarget)" EchoOff="true" />
+ $(_XmakeExecutable) clean $(_XmakeCommonFlags) $(_XmakeCleanFlags) $(XmakeTarget)" EchoOff="true" Condition="'$(XmakeDefault)' != 'false'" />
</Target>
<Target Name="Show">
@@ -130,6 +130,7 @@ MSBuild Properties:
XmakeBasename: $(XmakeBasename)
XmakeFilename: $(XmakeFilename)
XmakeKind: $(XmakeKind)
+ XmakeDefault: $(XmakeDefault)
XmakeCudaVersion: $(XmakeCudaVersion)
XmakeWindowsSdkVersion: $(XmakeWindowsSdkVersion)
XmakeMfcKind: $(XmakeMfcKind)
diff --git a/xmake/plugins/project/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch) b/xmake/plugins/project/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch)
index 0d6eb3dd5..4832d8e93 100644
--- a/xmake/plugins/project/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch)
+++ b/xmake/plugins/project/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch)
@@ -5,6 +5,7 @@
<XmakePlat>#plat#</XmakePlat>
<XmakeArch>#arch#</XmakeArch>
<XmakeKind>#kind#</XmakeKind>
+ <XmakeDefault>#default#</XmakeDefault>
<XmakeDefines>#defines#</XmakeDefines>
<XmakeLanguages>#languages#</XmakeLanguages>
<XmakeSubSystem>#subsystem#</XmakeSubSystem>