summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2021-03-10 00:44:47 +0800
committerruki <[email protected]>2021-03-10 00:44:47 +0800
commit138a9cbec0156f31c82588314b04ecf4b1b6c847 (patch)
tree7fd09b566d858d149425f470c66f3f20a15ce488
parent870150547028b91b953ed2170f05827be13484c1 (diff)
support default target for vsxmake
-rw-r--r--xmake/plugins/project/vsxmake/getinfo.lua3
-rw-r--r--xmake/plugins/project/vsxmake/vsproj/Xmake.targets13
-rw-r--r--xmake/plugins/project/vsxmake/vsproj/templates/vcxproj/XmakeConfig(mode,arch)1
3 files changed, 11 insertions, 6 deletions
diff --git a/xmake/plugins/project/vsxmake/getinfo.lua b/xmake/plugins/project/vsxmake/getinfo.lua
index d00c5d344..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"))
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>