diff options
| author | Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> | 2020-06-15 23:24:14 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-06-15 14:24:14 -0700 |
| commit | 14514508d8d30bdbd645b2bec89696aec25497f1 (patch) | |
| tree | 347b6905d7a15e9b2d5d755144adfadae178d8c6 /scripts/buildsystems/msbuild/vcpkg.targets | |
| parent | 36b2f28bbb499a1150a69db13c84d5d499e1d664 (diff) | |
| download | vcpkg-14514508d8d30bdbd645b2bec89696aec25497f1.tar.gz vcpkg-14514508d8d30bdbd645b2bec89696aec25497f1.zip | |
[vcpkg] Add vcpkg item to project settings in Visual Studio (#4361)
Co-authored-by: Curtis J Bezault <curtbezault@gmail.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Diffstat (limited to 'scripts/buildsystems/msbuild/vcpkg.targets')
| -rw-r--r-- | scripts/buildsystems/msbuild/vcpkg.targets | 84 |
1 files changed, 39 insertions, 45 deletions
diff --git a/scripts/buildsystems/msbuild/vcpkg.targets b/scripts/buildsystems/msbuild/vcpkg.targets index 329f7ba70..626e72228 100644 --- a/scripts/buildsystems/msbuild/vcpkg.targets +++ b/scripts/buildsystems/msbuild/vcpkg.targets @@ -1,64 +1,58 @@ <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" TreatAsLocalProperty="VcpkgRoot;VcpkgCurrentInstalledDir"> - <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'Win32||'"> + <!-- Setting reasonable defaults if vcpkg.props was not loaded--> + <PropertyGroup Condition="'$(VcpkgHasProps)'!='true'" > <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled> - <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">x86-windows</VcpkgTriplet> - </PropertyGroup> - - <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'Win32|Windows Store|10.0'"> - <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled> - <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">x86-uwp</VcpkgTriplet> - </PropertyGroup> - - <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == '||'"> - <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled> - <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">x86-windows</VcpkgTriplet> - </PropertyGroup> - - <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == '|Windows Store|10.0'"> - <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled> - <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">x86-uwp</VcpkgTriplet> + <VcpkgAutoLink Condition="'$(VcpkgAutoLink)' == ''">true</VcpkgAutoLink> + <VcpkgUseStatic Condition="'$(VcpkgUseStatic)' == ''">false</VcpkgUseStatic> + <VcpkgRoot Condition="'$(VcpkgRoot)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), .vcpkg-root))</VcpkgRoot> + <VcpkgConfiguration Condition="'$(VcpkgConfiguration)' == ''">$(Configuration)</VcpkgConfiguration> + <VcpkgPageSchema Condition="'$(VcpkgPageSchema)' == ''">$(VcpkgRoot)\scripts\buildsystems\msbuild\vcpkg-general.xml</VcpkgPageSchema> </PropertyGroup> - <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'x64||'"> - <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled> - <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">x64-windows</VcpkgTriplet> + <!-- Set default OS Target--> + <PropertyGroup Condition="'$(ApplicationType)|$(ApplicationTypeRevision)' == 'Windows Store|10.0' And '$(VcpkgHasProps)'!='true'"> + <VcpkgOSTarget Condition="'$(VcpkgOSTarget)' == ''">uwp</VcpkgOSTarget> </PropertyGroup> - - <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'arm||'"> - <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled> - <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">arm-windows</VcpkgTriplet> + <PropertyGroup Condition="'$(VcpkgHasProps)'!='true'" > + <VcpkgOSTarget Condition="'$(VcpkgOSTarget)' == ''">windows</VcpkgOSTarget> </PropertyGroup> - <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'arm64||'"> - <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled> - <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">arm64-windows</VcpkgTriplet> - </PropertyGroup> + <!-- Set other defaults--> + <PropertyGroup Condition="'$(VcpkgHasProps)'!='true'" > + <VcpkgUserTriplet Condition="'$(VcpkgUserTriplet)' == ''">$(PlatformTarget)-$(VcpkgOSTarget)</VcpkgUserTriplet> + <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">$(VcpkgUserTriplet)</VcpkgTriplet> + <VcpkgCurrentInstalledDir Condition="'$(VcpkgCurrentInstalledDir)' == ''">$(VcpkgRoot)\installed\$(VcpkgTriplet)\</VcpkgCurrentInstalledDir> + </PropertyGroup> - <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'x64|Windows Store|10.0'"> - <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled> - <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">x64-uwp</VcpkgTriplet> - </PropertyGroup> + <!--Import property page for vcpkg --> + <ItemGroup Condition="'$(VcpkgPageSchema)' != '' "> + <PropertyPageSchema Include="$(VcpkgPageSchema)"> + <Context>Project</Context> + </PropertyPageSchema> + </ItemGroup> - <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'arm|Windows Store|10.0'"> - <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled> - <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">arm-uwp</VcpkgTriplet> + <!-- Update properties if using static libs--> + <PropertyGroup Condition="'$(VcpkgUseStatic)' == 'true'"> + <VcpkgTripletTmp>$(VcpkgUserTriplet)</VcpkgTripletTmp> + <VcpkgTriplet>$(VcpkgTripletTmp)-static</VcpkgTriplet> + <VcpkgCurrentInstalledDir Condition="'$(VcpkgCurrentInstalledDir)' == '$(VcpkgRoot)\installed\$(VcpkgTripletTmp)\'">$(VcpkgRoot)\installed\$(VcpkgTriplet)\</VcpkgCurrentInstalledDir> + <VcpkgTripletTmp /> </PropertyGroup> - <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'arm64|Windows Store|10.0'"> - <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled> - <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">arm64-uwp</VcpkgTriplet> + <PropertyGroup Condition="'$(VcpkgUseStatic)' != 'true'"> + <VcpkgTripletTmp>$(VcpkgTriplet)</VcpkgTripletTmp> + <VcpkgTriplet Condition="'$(VcpkgTriplet)'!='$(VcpkgUserTriplet)'">$(VcpkgUserTriplet)</VcpkgTriplet> + <VcpkgCurrentInstalledDir Condition="'$(VcpkgCurrentInstalledDir)' == '$(VcpkgRoot)\installed\$(VcpkgTripletTmp)\'">$(VcpkgRoot)\installed\$(VcpkgUserTriplet)\</VcpkgCurrentInstalledDir> + <VcpkgTripletTmp /> </PropertyGroup> <PropertyGroup Condition="'$(VcpkgEnabled)' == 'true'"> - <VcpkgConfiguration Condition="'$(VcpkgConfiguration)' == ''">$(Configuration)</VcpkgConfiguration> <VcpkgNormalizedConfiguration Condition="$(VcpkgConfiguration.StartsWith('Debug'))">Debug</VcpkgNormalizedConfiguration> <VcpkgNormalizedConfiguration Condition="$(VcpkgConfiguration.StartsWith('Release')) or '$(VcpkgConfiguration)' == 'RelWithDebInfo' or '$(VcpkgConfiguration)' == 'MinSizeRel'">Release</VcpkgNormalizedConfiguration> - <VcpkgRoot Condition="'$(VcpkgRoot)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), .vcpkg-root))\</VcpkgRoot> <VcpkgRoot Condition="!$(VcpkgRoot.EndsWith('\'))">$(VcpkgRoot)\</VcpkgRoot> - <VcpkgCurrentInstalledDir Condition="'$(VcpkgCurrentInstalledDir)' == ''">$(VcpkgRoot)installed\$(VcpkgTriplet)\</VcpkgCurrentInstalledDir> <VcpkgCurrentInstalledDir Condition="!$(VcpkgCurrentInstalledDir.EndsWith('\'))">$(VcpkgCurrentInstalledDir)\</VcpkgCurrentInstalledDir> <VcpkgApplocalDeps Condition="'$(VcpkgApplocalDeps)' == ''">true</VcpkgApplocalDeps> - <!-- Deactivate Autolinking if lld is used as a linker. (Until a better way to solve the problem is found!). + <!-- Deactivate Autolinking if lld is used as a linker. (Until a better way to solve the problem is found!). Tried to add /lib as a parameter to the linker call but was unable to find a way to pass it as the first parameter. --> <VcpkgAutoLink Condition="'$(UseLldLink)' == 'true' and '$(VcpkgAutoLink)' == ''">false</VcpkgAutoLink> </PropertyGroup> @@ -79,8 +73,8 @@ </ItemDefinitionGroup> <Target Name="VcpkgTripletSelection" BeforeTargets="ClCompile"> - <Message Text="Using triplet "$(VcpkgTriplet)" from "$(VcpkgCurrentInstalledDir)"" Importance="Normal" Condition="'$(VcpkgEnabled)' == 'true'"/> - <Message Text="Not using Vcpkg because VcpkgEnabled is "$(VcpkgEnabled)"" Importance="Normal" Condition="'$(VcpkgEnabled)' != 'true'"/> + <Message Text="Using triplet "$(VcpkgTriplet)" from "$(VcpkgCurrentInstalledDir)"" Importance="High" Condition="'$(VcpkgEnabled)' == 'true'"/> + <Message Text="Not using Vcpkg because VcpkgEnabled is "$(VcpkgEnabled)"" Importance="High" Condition="'$(VcpkgEnabled)' != 'true'"/> <Message Text="Vcpkg is unable to link because we cannot decide between Release and Debug libraries. Please define the property VcpkgConfiguration to be 'Release' or 'Debug' (currently '$(VcpkgConfiguration)')." Importance="High" Condition="'$(VcpkgEnabled)' == 'true' and '$(VcpkgNormalizedConfiguration)' == ''"/> </Target> @@ -104,4 +98,4 @@ <ReferenceCopyLocalPaths Include="@(VcpkgAppLocalDLLs)" /> </ItemGroup> </Target> -</Project> +</Project>
\ No newline at end of file |
