diff options
| author | ruki <[email protected]> | 2021-03-10 11:09:25 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-03-10 11:09:25 +0800 |
| commit | 548a0ad47f341bee0d757be53e478697decc39a5 (patch) | |
| tree | 3285d6cbb6a88a445624651488026a01ba26ec40 /xmake/plugins | |
| parent | aeda97353dd23f22b7d7cda78eb3d10470177d55 (diff) | |
| parent | 138a9cbec0156f31c82588314b04ecf4b1b6c847 (diff) | |
Merge pull request #1277 from xmake-io/vsxmake
improve vsxmake plugin to support `set_default(false)`
Diffstat (limited to 'xmake/plugins')
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> |
