aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2021-03-15 15:46:44 -0700
committerRob Mensching <rob@firegiant.com>2021-03-16 11:01:46 -0700
commit533fb3c24290f5c9684a661e2576d857fbee9fb6 (patch)
tree2d8780846bd044f92ab481d6409c6865baf6bac0
parent8296f237c69743d3e6cbdc58fc07e8470562b92e (diff)
downloadwix-533fb3c24290f5c9684a661e2576d857fbee9fb6.tar.gz
wix-533fb3c24290f5c9684a661e2576d857fbee9fb6.tar.bz2
wix-533fb3c24290f5c9684a661e2576d857fbee9fb6.zip
Modernize build system
-rw-r--r--.gitignore43
-rw-r--r--appveyor.cmd12
-rw-r--r--appveyor.yml6
-rw-r--r--src/Directory.Build.props4
-rw-r--r--src/Directory.Build.targets9
-rw-r--r--src/Directory.csproj.props (renamed from src/CSharp.Build.props)0
-rw-r--r--src/Directory.csproj.targets26
-rw-r--r--src/Directory.vcxproj.props (renamed from src/Cpp.Build.props)25
-rw-r--r--src/WixToolset.Core.Native/WixToolset.Core.Native.csproj83
-rw-r--r--src/WixToolset.Core.Native/WixToolset.Core.Native.nuspec14
-rw-r--r--src/test/WixToolsetTest.Core.Native/WixToolsetTest.Core.Native.csproj7
-rw-r--r--src/wixnative/wixnative.vcxproj49
12 files changed, 138 insertions, 140 deletions
diff --git a/.gitignore b/.gitignore
index 3e8a1553..1ee53850 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,6 +13,9 @@
13# User-specific files (MonoDevelop/Xamarin Studio) 13# User-specific files (MonoDevelop/Xamarin Studio)
14*.userprefs 14*.userprefs
15 15
16# Mono auto generated files
17mono_crash.*
18
16# Build results 19# Build results
17[Dd]ebug/ 20[Dd]ebug/
18[Dd]ebugPublic/ 21[Dd]ebugPublic/
@@ -20,12 +23,14 @@
20[Rr]eleases/ 23[Rr]eleases/
21x64/ 24x64/
22x86/ 25x86/
26[Ww][Ii][Nn]32/
23[Aa][Rr][Mm]/ 27[Aa][Rr][Mm]/
24[Aa][Rr][Mm]64/ 28[Aa][Rr][Mm]64/
25bld/ 29bld/
26[Bb]in/ 30[Bb]in/
27[Oo]bj/ 31[Oo]bj/
28[Ll]og/ 32[Ll]og/
33[Ll]ogs/
29 34
30# Visual Studio 2015/2017 cache/options directory 35# Visual Studio 2015/2017 cache/options directory
31.vs/ 36.vs/
@@ -39,9 +44,10 @@ Generated\ Files/
39[Tt]est[Rr]esult*/ 44[Tt]est[Rr]esult*/
40[Bb]uild[Ll]og.* 45[Bb]uild[Ll]og.*
41 46
42# NUNIT 47# NUnit
43*.VisualState.xml 48*.VisualState.xml
44TestResult.xml 49TestResult.xml
50nunit-*.xml
45 51
46# Build Results of an ATL Project 52# Build Results of an ATL Project
47[Dd]ebugPS/ 53[Dd]ebugPS/
@@ -56,6 +62,9 @@ project.lock.json
56project.fragment.lock.json 62project.fragment.lock.json
57artifacts/ 63artifacts/
58 64
65# ASP.NET Scaffolding
66ScaffoldingReadMe.txt
67
59# StyleCop 68# StyleCop
60StyleCopReport.xml 69StyleCopReport.xml
61 70
@@ -122,9 +131,6 @@ _ReSharper*/
122*.[Rr]e[Ss]harper 131*.[Rr]e[Ss]harper
123*.DotSettings.user 132*.DotSettings.user
124 133
125# JustCode is a .NET coding add-in
126.JustCode
127
128# TeamCity is a build add-in 134# TeamCity is a build add-in
129_TeamCity* 135_TeamCity*
130 136
@@ -135,6 +141,11 @@ _TeamCity*
135.axoCover/* 141.axoCover/*
136!.axoCover/settings.json 142!.axoCover/settings.json
137 143
144# Coverlet is a free, cross platform Code Coverage Tool
145coverage*.json
146coverage*.xml
147coverage*.info
148
138# Visual Studio code coverage results 149# Visual Studio code coverage results
139*.coverage 150*.coverage
140*.coveragexml 151*.coveragexml
@@ -182,6 +193,8 @@ PublishScripts/
182 193
183# NuGet Packages 194# NuGet Packages
184*.nupkg 195*.nupkg
196# NuGet Symbol Packages
197*.snupkg
185# The packages folder can be ignored because of Package Restore 198# The packages folder can be ignored because of Package Restore
186**/[Pp]ackages/* 199**/[Pp]ackages/*
187# except build/, which is used as an MSBuild target. 200# except build/, which is used as an MSBuild target.
@@ -206,6 +219,8 @@ BundleArtifacts/
206Package.StoreAssociation.xml 219Package.StoreAssociation.xml
207_pkginfo.txt 220_pkginfo.txt
208*.appx 221*.appx
222*.appxbundle
223*.appxupload
209 224
210# Visual Studio cache files 225# Visual Studio cache files
211# files ending in .cache can be ignored 226# files ending in .cache can be ignored
@@ -231,8 +246,6 @@ orleans.codegen.cs
231# Since there are multiple workflows, uncomment next line to ignore bower_components 246# Since there are multiple workflows, uncomment next line to ignore bower_components
232# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 247# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
233#bower_components/ 248#bower_components/
234# ASP.NET Core default setup: bower directory is configured as wwwroot/lib/ and bower restore is true
235**/wwwroot/lib/
236 249
237# RIA/Silverlight projects 250# RIA/Silverlight projects
238Generated_Code/ 251Generated_Code/
@@ -257,6 +270,9 @@ ServiceFabricBackup/
257*.bim.layout 270*.bim.layout
258*.bim_*.settings 271*.bim_*.settings
259*.rptproj.rsuser 272*.rptproj.rsuser
273*- [Bb]ackup.rdl
274*- [Bb]ackup ([0-9]).rdl
275*- [Bb]ackup ([0-9][0-9]).rdl
260 276
261# Microsoft Fakes 277# Microsoft Fakes
262FakesAssemblies/ 278FakesAssemblies/
@@ -292,10 +308,6 @@ paket-files/
292# FAKE - F# Make 308# FAKE - F# Make
293.fake/ 309.fake/
294 310
295# JetBrains Rider
296.idea/
297*.sln.iml
298
299# CodeRush personal settings 311# CodeRush personal settings
300.cr/personal 312.cr/personal
301 313
@@ -337,5 +349,14 @@ ASALocalRun/
337# Local History for Visual Studio 349# Local History for Visual Studio
338.localhistory/ 350.localhistory/
339 351
340# BeatPulse healthcheck temp database 352# BeatPulse healthcheck temp database
341healthchecksdb 353healthchecksdb
354
355# Backup folder for Package Reference Convert tool in Visual Studio 2017
356MigrationBackup/
357
358# Ionide (cross platform F# VS Code tools) working folder
359.ionide/
360
361# Fody - auto-generated XML schema
362FodyWeavers.xsd
diff --git a/appveyor.cmd b/appveyor.cmd
index 6de09dad..d9691a42 100644
--- a/appveyor.cmd
+++ b/appveyor.cmd
@@ -1,13 +1,19 @@
1@setlocal 1@setlocal
2@pushd %~dp0 2@pushd %~dp0
3@set _C=Release 3@set _C=Release
4@if /i "%1"=="debug" set _C=Debug
4 5
5nuget restore || exit /b 6:: Restore
7msbuild -p:Configuration=%_C% -t:Restore || exit /b
6 8
9:: Build
7msbuild -p:Configuration=%_C% src\test\WixToolsetTest.Core.Native\WixToolsetTest.Core.Native.csproj || exit /b 10msbuild -p:Configuration=%_C% src\test\WixToolsetTest.Core.Native\WixToolsetTest.Core.Native.csproj || exit /b
11
12:: Test
8dotnet test -c %_C% --no-build src\test\WixToolsetTest.Core.Native\WixToolsetTest.Core.Native.csproj || exit /b 13dotnet test -c %_C% --no-build src\test\WixToolsetTest.Core.Native\WixToolsetTest.Core.Native.csproj || exit /b
9 14
10msbuild -t:Pack -p:Configuration=%_C% src\WixToolset.Core.Native\WixToolset.Core.Native.csproj || exit /b 15:: Pack
16msbuild -p:Configuration=%_C% -p:NoBuild=true -t:Pack src\WixToolset.Core.Native\WixToolset.Core.Native.csproj || exit /b
11 17
12@popd 18@popd
13@endlocal \ No newline at end of file 19@endlocal
diff --git a/appveyor.yml b/appveyor.yml
index e4d25586..dccc2071 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -21,8 +21,6 @@ environment:
21build_script: 21build_script:
22 - appveyor.cmd 22 - appveyor.cmd
23 23
24test: off
25
26pull_requests: 24pull_requests:
27 do_not_increment_build_number: true 25 do_not_increment_build_number: true
28 26
@@ -32,9 +30,13 @@ nuget:
32skip_branch_with_pr: true 30skip_branch_with_pr: true
33skip_tags: true 31skip_tags: true
34 32
33test: off
34
35artifacts: 35artifacts:
36- path: build\Release\**\*.nupkg 36- path: build\Release\**\*.nupkg
37 name: nuget 37 name: nuget
38- path: build\Release\**\*.snupkg
39 name: snupkg
38 40
39notifications: 41notifications:
40- provider: Slack 42- provider: Slack
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index f83cc154..b3c6287c 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -22,8 +22,6 @@
22 <Product>WiX Toolset</Product> 22 <Product>WiX Toolset</Product>
23 </PropertyGroup> 23 </PropertyGroup>
24 24
25 <Import Project="CSharp.Build.props" Condition=" '$(MSBuildProjectExtension)'=='.csproj' and Exists('CSharp.Build.props') " /> 25 <Import Project="Directory$(MSBuildProjectExtension).props" Condition=" Exists('Directory$(MSBuildProjectExtension).props') " />
26 <Import Project="Cpp.Build.props" Condition=" Exists('Cpp.Build.props') And '$(MSBuildProjectExtension)'=='.vcxproj' " />
27 <Import Project="Wix.Build.props" Condition=" Exists('Wix.Build.props') And '$(MSBuildProjectExtension)'=='.wixproj' " />
28 <Import Project="Custom.Build.props" Condition=" Exists('Custom.Build.props') " /> 26 <Import Project="Custom.Build.props" Condition=" Exists('Custom.Build.props') " />
29</Project> 27</Project>
diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets
index cb988931..2fcc765a 100644
--- a/src/Directory.Build.targets
+++ b/src/Directory.Build.targets
@@ -10,11 +10,6 @@
10--> 10-->
11<Project> 11<Project>
12 <PropertyGroup> 12 <PropertyGroup>
13 <CreateDocumentation Condition=" '$(CreateDocumentationFile)'!='true' ">false</CreateDocumentation>
14 <DocumentationFile Condition=" '$(CreateDocumentationFile)'=='true' ">$(OutputPath)\$(AssemblyName).xml</DocumentationFile>
15 </PropertyGroup>
16
17 <PropertyGroup>
18 <ReplacePackageReferences>true</ReplacePackageReferences> 13 <ReplacePackageReferences>true</ReplacePackageReferences>
19 <TheSolutionPath Condition=" '$(NCrunch)'=='' ">$(SolutionPath)</TheSolutionPath> 14 <TheSolutionPath Condition=" '$(NCrunch)'=='' ">$(SolutionPath)</TheSolutionPath>
20 <TheSolutionPath Condition=" '$(NCrunch)'=='1' ">$(NCrunchOriginalSolutionPath)</TheSolutionPath> 15 <TheSolutionPath Condition=" '$(NCrunch)'=='1' ">$(NCrunchOriginalSolutionPath)</TheSolutionPath>
@@ -45,12 +40,12 @@
45 <ProjectReference Include="@(PackageInSolution->'$(SmartSolutionDir)\%(SmartPath)' )"/> 40 <ProjectReference Include="@(PackageInSolution->'$(SmartSolutionDir)\%(SmartPath)' )"/>
46 41
47 <!-- Remove the package references that are now referenced as projects --> 42 <!-- Remove the package references that are now referenced as projects -->
48 <PackageReference Remove="@(PackageInSolution->'%(PackageName)' )"/> 43 <PackageReference Remove="@(PackageInSolution->'%(PackageName)')"/>
49 </ItemGroup> 44 </ItemGroup>
50 45
51 </When> 46 </When>
52 </Choose> 47 </Choose>
53 48
54 <Import Project="Wix.Build.targets" Condition=" Exists('Wix.Build.targets') And '$(MSBuildProjectExtension)'=='.wixproj' " /> 49 <Import Project="Directory$(MSBuildProjectExtension).targets" Condition=" Exists('Directory$(MSBuildProjectExtension).targets') " />
55 <Import Project="Custom.Build.targets" Condition=" Exists('Custom.Build.targets') " /> 50 <Import Project="Custom.Build.targets" Condition=" Exists('Custom.Build.targets') " />
56</Project> 51</Project>
diff --git a/src/CSharp.Build.props b/src/Directory.csproj.props
index 81d24ad1..81d24ad1 100644
--- a/src/CSharp.Build.props
+++ b/src/Directory.csproj.props
diff --git a/src/Directory.csproj.targets b/src/Directory.csproj.targets
new file mode 100644
index 00000000..c3270426
--- /dev/null
+++ b/src/Directory.csproj.targets
@@ -0,0 +1,26 @@
1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2<!--
3 Do NOT modify this file. Update the canonical version in Home\repo-template\src\Directory.csproj.targets
4 then update all of the repos.
5-->
6<Project>
7 <PropertyGroup>
8 <CreateDocumentation Condition=" '$(CreateDocumentationFile)'!='true' ">false</CreateDocumentation>
9 <DocumentationFile Condition=" '$(CreateDocumentationFile)'=='true' ">$(OutputPath)\$(AssemblyName).xml</DocumentationFile>
10 </PropertyGroup>
11
12 <Target Name="SetNuspecProperties" DependsOnTargets="InitializeSourceControlInformation" AfterTargets="GetBuildVersion"
13 Condition=" Exists('$(MSBuildProjectName).nuspec') ">
14 <PropertyGroup>
15 <ProjectUrl Condition=" '$(ProjectUrl)'=='' and '$(PrivateRepositoryUrl)'!='' ">$(PrivateRepositoryUrl.Replace('.git',''))</ProjectUrl>
16
17 <NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile>
18 <NuspecBasePath Condition=" '$(NuspecBasePath)'=='' ">$(OutputPath)..\</NuspecBasePath>
19 <NuspecProperties>$(NuspecProperties);Id=$(PackageId);Authors=$(Authors);Copyright=$(Copyright);Description=$(Description);Title=$(Title)</NuspecProperties>
20 <NuspecProperties>$(NuspecProperties);Version=$(PackageVersion);RepositoryCommit=$(SourceRevisionId);RepositoryType=$(RepositoryType);RepositoryUrl=$(PrivateRepositoryUrl);ProjectFolder=$(MSBuildProjectDirectory)\;ProjectUrl=$(ProjectUrl)</NuspecProperties>
21 <PublishRepositoryUrl>true</PublishRepositoryUrl>
22 <SymbolPackageFormat>snupkg</SymbolPackageFormat>
23 </PropertyGroup>
24 </Target>
25
26</Project>
diff --git a/src/Cpp.Build.props b/src/Directory.vcxproj.props
index 9b7a1bb5..bcf26c57 100644
--- a/src/Cpp.Build.props
+++ b/src/Directory.vcxproj.props
@@ -6,6 +6,13 @@
6 <Platform Condition=" '$(Platform)' == '' OR '$(Platform)' == 'AnyCPU' ">Win32</Platform> 6 <Platform Condition=" '$(Platform)' == '' OR '$(Platform)' == 'AnyCPU' ">Win32</Platform>
7 <IntDir>$(BaseIntermediateOutputPath)$(Configuration)\$(Platform)\</IntDir> 7 <IntDir>$(BaseIntermediateOutputPath)$(Configuration)\$(Platform)\</IntDir>
8 <OutDir>$(OutputPath)$(Platform)\</OutDir> 8 <OutDir>$(OutputPath)$(Platform)\</OutDir>
9
10 <!-- NBGV properties -->
11 <AssemblyCompany>$(Company)</AssemblyCompany>
12 <AssemblyCopyright>$(Copyright)</AssemblyCopyright>
13
14 <RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
15 <NuGetTargetMoniker>native,Version=v0.0</NuGetTargetMoniker>
9 </PropertyGroup> 16 </PropertyGroup>
10 17
11 <PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'=='' AND '$(VisualStudioVersion)'>='15.0'"> 18 <PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'=='' AND '$(VisualStudioVersion)'>='15.0'">
@@ -70,6 +77,12 @@
70 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> 77 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
71 </ClCompile> 78 </ClCompile>
72 </ItemDefinitionGroup> 79 </ItemDefinitionGroup>
80 <ItemDefinitionGroup Condition=" '$(Configuration)'=='Debug' and '$(CLRSupport)'=='true' ">
81 <ClCompile>
82 <BasicRuntimeChecks></BasicRuntimeChecks>
83 <RuntimeLibrary>MultiThreadedDebugDll</RuntimeLibrary>
84 </ClCompile>
85 </ItemDefinitionGroup>
73 <ItemDefinitionGroup Condition=" '$(Configuration)'=='Release' "> 86 <ItemDefinitionGroup Condition=" '$(Configuration)'=='Release' ">
74 <ClCompile> 87 <ClCompile>
75 <Optimization>MinSpace</Optimization> 88 <Optimization>MinSpace</Optimization>
@@ -83,4 +96,16 @@
83 <OptimizeReferences>true</OptimizeReferences> 96 <OptimizeReferences>true</OptimizeReferences>
84 </Link> 97 </Link>
85 </ItemDefinitionGroup> 98 </ItemDefinitionGroup>
99 <ItemDefinitionGroup Condition=" '$(Configuration)'=='Release' and '$(CLRSupport)'=='true' ">
100 <ClCompile>
101 <BasicRuntimeChecks></BasicRuntimeChecks>
102 <RuntimeLibrary>MultiThreadedDll</RuntimeLibrary>
103 </ClCompile>
104 </ItemDefinitionGroup>
105 <ItemDefinitionGroup Condition=" '$(CLRSupport)'=='true' ">
106 <Link>
107 <KeyFile>$(LinkKeyFile)</KeyFile>
108 <DelaySign>$(LinkDelaySign)</DelaySign>
109 </Link>
110 </ItemDefinitionGroup>
86</Project> 111</Project>
diff --git a/src/WixToolset.Core.Native/WixToolset.Core.Native.csproj b/src/WixToolset.Core.Native/WixToolset.Core.Native.csproj
index 2c118d51..41e75f99 100644
--- a/src/WixToolset.Core.Native/WixToolset.Core.Native.csproj
+++ b/src/WixToolset.Core.Native/WixToolset.Core.Native.csproj
@@ -5,82 +5,35 @@
5 5
6 <PropertyGroup> 6 <PropertyGroup>
7 <TargetFramework>netstandard2.0</TargetFramework> 7 <TargetFramework>netstandard2.0</TargetFramework>
8 <NuspecFile>$(MSBuildThisFileName).nuspec</NuspecFile>
9 <Description>Core Native</Description>
10 <DebugType>embedded</DebugType> 8 <DebugType>embedded</DebugType>
9 <Description>WiX Toolset Native Processing</Description>
11 <IncludeSymbols>true</IncludeSymbols> 10 <IncludeSymbols>true</IncludeSymbols>
12 <CreateDocumentationFile>true</CreateDocumentationFile> 11 <CreateDocumentationFile>true</CreateDocumentationFile>
13 </PropertyGroup> 12 </PropertyGroup>
14 13
15 <ItemGroup> 14 <ItemGroup Condition=" '$(NCrunch)'=='' ">
16 <ProjectReference Include="..\wixnative\wixnative.vcxproj"> 15 <ProjectReference Include="..\wixnative\wixnative.vcxproj" ReferenceOutputAssembly="false" PrivateAssets="All" Properties="Platform=ARM64" />
17 <PrivateAssets>All</PrivateAssets> 16 <ProjectReference Include="..\wixnative\wixnative.vcxproj" ReferenceOutputAssembly="false" PrivateAssets="All" Properties="Platform=Win32" />
18 <Properties>Platform=ARM64</Properties> 17 <ProjectReference Include="..\wixnative\wixnative.vcxproj" ReferenceOutputAssembly="false" PrivateAssets="All" Properties="Platform=x64" />
19 </ProjectReference> 18 </ItemGroup>
20 <ProjectReference Include="..\wixnative\wixnative.vcxproj"> 19
21 <PrivateAssets>All</PrivateAssets> 20 <ItemGroup Condition=" '$(NCrunch)'=='' ">
22 <Properties>Platform=Win32</Properties> 21 <None Include="$(BaseOutputPath)$(Configuration)\x64\mergemod.dll" CopyToOutputDirectory="PreserveNewest" />
23 </ProjectReference> 22 <None Include="$(BaseOutputPath)$(Configuration)\x64\wixnative.exe" CopyToOutputDirectory="PreserveNewest" />
24 <ProjectReference Include="..\wixnative\wixnative.vcxproj"> 23 <None Include="$(BaseOutputPath)$(Configuration)\x64\wixnative.pdb" CopyToOutputDirectory="PreserveNewest" />
25 <PrivateAssets>All</PrivateAssets> 24 </ItemGroup>
26 <Properties>Platform=x64</Properties> 25 <ItemGroup Condition=" '$(NCrunch)'=='1' ">
27 </ProjectReference> 26 <None Include="$(NCrunchOriginalProjectDir)..\..\build\$(Configuration)\x64\mergemod.dll" CopyToOutputDirectory="PreserveNewest" />
27 <None Include="$(NCrunchOriginalProjectDir)..\..\build\$(Configuration)\x64\wixnative.exe" CopyToOutputDirectory="PreserveNewest" />
28 <None Include="$(NCrunchOriginalProjectDir)..\..\build\$(Configuration)\x64\wixnative.pdb" CopyToOutputDirectory="PreserveNewest" />
28 </ItemGroup> 29 </ItemGroup>
29 30
30 <ItemGroup> 31 <ItemGroup>
31 <PackageReference Include="WixToolset.Data" Version="4.0.*" PrivateAssets="All" /> 32 <PackageReference Include="WixToolset.Data" Version="4.0.*" PrivateAssets="all" />
32 </ItemGroup> 33 </ItemGroup>
33 34
34 <ItemGroup> 35 <ItemGroup>
35 <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" /> 36 <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="all" />
36 <PackageReference Include="Nerdbank.GitVersioning" Version="3.3.37" PrivateAssets="all" /> 37 <PackageReference Include="Nerdbank.GitVersioning" Version="3.3.37" PrivateAssets="all" />
37 </ItemGroup> 38 </ItemGroup>
38
39 <PropertyGroup>
40 <NativeFileListPath Condition=" '$(NCrunch)'=='' ">$(MSBuildProjectDir)..\..\build\obj\$(ProjectName)\$(Configuration)\NativeFileList.txt</NativeFileListPath>
41 <NativeFileListPath Condition=" '$(NCrunch)'=='1' ">$(NCrunchOriginalProjectDir)..\..\build\obj\$(ProjectName)\$(Configuration)\NativeFileList.txt</NativeFileListPath>
42 <MergeModDirectory>$(MSBuildThisFileDirectory)..\wixnative\</MergeModDirectory>
43 </PropertyGroup>
44
45 <Target Name="BuildWixNative" BeforeTargets="GetCopyToOutputDirectoryItems" Condition=" '$(NCrunch)'=='' ">
46 <ItemGroup>
47 <_NativeProjectOutput Include="$(MergeModDirectory)x64\mergemod.dll" />
48 <_NativeProjectOutput Include="$(OutputPath)..\x64\wixnative.exe" />
49 <_NativeProjectOutput Include="$(OutputPath)..\x64\wixnative.pdb" />
50 </ItemGroup>
51
52 <WriteLinesToFile File="$(NativeFileListPath)" Lines="@(_NativeProjectOutput)" Overwrite="true" />
53
54 <ItemGroup>
55 <FileWrites Include="$(NativeFileListPath)" />
56
57 <AllItemsFullPathWithTargetPath Include="@(_NativeProjectOutput->'%(FullPath)')">
58 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
59 <TargetPath>%(Filename)%(Extension)</TargetPath>
60 </AllItemsFullPathWithTargetPath>
61 </ItemGroup>
62 </Target>
63
64 <Target Name="NCrunchCopyNative" AfterTargets="AfterBuild" Condition=" '$(NCrunch)'=='1' ">
65 <ReadLinesFromFile File="$(NativeFileListPath)">
66 <Output TaskParameter="Lines" ItemName="_NCrunchNativeProjectOutput" />
67 </ReadLinesFromFile>
68
69 <Error Text="You must build $(MSBuildProjectName) to create the referenced native projects. Once built, 'Reload and rebuild' the project in the NCrunch Tests. The $(NativeFileListPath) file must not be empty." Condition=" '@(_NCrunchNativeProjectOutput)'=='' " />
70
71 <Copy SourceFiles="@(_NCrunchNativeProjectOutput)" DestinationFolder="$(OutputPath)" SkipUnchangedFiles="true">
72 <Output TaskParameter="CopiedFiles" ItemName="_NCrunchNativeCopied" />
73 </Copy>
74
75 <ItemGroup>
76 <FileWrites Include="@(_NCrunchNativeCopied)" />
77 </ItemGroup>
78 </Target>
79
80 <Target Name="SetNuspecProperties" AfterTargets="CoreBuild">
81 <PropertyGroup>
82 <NuspecBasePath>$(OutputPath)..\</NuspecBasePath>
83 <NuspecProperties>Id=$(MSBuildThisFileName);Version=$(BuildVersionSimple);Authors=$(Authors);Copyright=$(Copyright);Description=$(Description);RepositoryCommit=$(SourceRevisionId);RepositoryType=$(RepositoryType);RepositoryUrl=$(PrivateRepositoryUrl);MergeModDir=$(MergeModDirectory)</NuspecProperties>
84 </PropertyGroup>
85 </Target>
86</Project> 39</Project>
diff --git a/src/WixToolset.Core.Native/WixToolset.Core.Native.nuspec b/src/WixToolset.Core.Native/WixToolset.Core.Native.nuspec
index 33b19bc1..b6fd9790 100644
--- a/src/WixToolset.Core.Native/WixToolset.Core.Native.nuspec
+++ b/src/WixToolset.Core.Native/WixToolset.Core.Native.nuspec
@@ -3,16 +3,16 @@
3 <metadata minClientVersion="4.0"> 3 <metadata minClientVersion="4.0">
4 <id>$id$</id> 4 <id>$id$</id>
5 <version>$version$</version> 5 <version>$version$</version>
6 <title>$title$</title>
7 <description>$description$</description>
6 <authors>$authors$</authors> 8 <authors>$authors$</authors>
7 <owners>$authors$</owners>
8 <license type="expression">MS-RL</license> 9 <license type="expression">MS-RL</license>
9 <projectUrl>https://github.com/wixtoolset/Core.Native</projectUrl>
10 <requireLicenseAcceptance>false</requireLicenseAcceptance> 10 <requireLicenseAcceptance>false</requireLicenseAcceptance>
11 <description>$description$</description>
12 <copyright>$copyright$</copyright> 11 <copyright>$copyright$</copyright>
12 <projectUrl>$projectUrl$</projectUrl>
13 <repository type="$repositorytype$" url="$repositoryurl$" commit="$repositorycommit$" /> 13 <repository type="$repositorytype$" url="$repositoryurl$" commit="$repositorycommit$" />
14 <dependencies> 14 <dependencies>
15 <group targetFramework=".NETStandard2.0" /> 15 <group targetFramework="netstandard2.0" />
16 </dependencies> 16 </dependencies>
17 </metadata> 17 </metadata>
18 18
@@ -20,13 +20,13 @@
20 <file src="netstandard2.0\$id$.dll" target="lib\netstandard2.0" /> 20 <file src="netstandard2.0\$id$.dll" target="lib\netstandard2.0" />
21 <file src="netstandard2.0\$id$.xml" target="lib\netstandard2.0" /> 21 <file src="netstandard2.0\$id$.xml" target="lib\netstandard2.0" />
22 22
23 <file src="$mergemoddir$ARM64\mergemod.dll" target="runtimes\win-arm64\native" /> 23 <file src="ARM64\mergemod.dll" target="runtimes\win-arm64\native" />
24 <file src="ARM64\wixnative.exe" target="runtimes\win-arm64\native" /> 24 <file src="ARM64\wixnative.exe" target="runtimes\win-arm64\native" />
25 <file src="ARM64\wixnative.pdb" target="runtimes\win-arm64\native" /> 25 <file src="ARM64\wixnative.pdb" target="runtimes\win-arm64\native" />
26 <file src="$mergemoddir$Win32\mergemod.dll" target="runtimes\win-x86\native" /> 26 <file src="Win32\mergemod.dll" target="runtimes\win-x86\native" />
27 <file src="Win32\wixnative.exe" target="runtimes\win-x86\native" /> 27 <file src="Win32\wixnative.exe" target="runtimes\win-x86\native" />
28 <file src="Win32\wixnative.pdb" target="runtimes\win-x86\native" /> 28 <file src="Win32\wixnative.pdb" target="runtimes\win-x86\native" />
29 <file src="$mergemoddir$x64\mergemod.dll" target="runtimes\win-x64\native" /> 29 <file src="x64\mergemod.dll" target="runtimes\win-x64\native" />
30 <file src="x64\wixnative.exe" target="runtimes\win-x64\native" /> 30 <file src="x64\wixnative.exe" target="runtimes\win-x64\native" />
31 <file src="x64\wixnative.pdb" target="runtimes\win-x64\native" /> 31 <file src="x64\wixnative.pdb" target="runtimes\win-x64\native" />
32 </files> 32 </files>
diff --git a/src/test/WixToolsetTest.Core.Native/WixToolsetTest.Core.Native.csproj b/src/test/WixToolsetTest.Core.Native/WixToolsetTest.Core.Native.csproj
index 9c493d84..77a53c29 100644
--- a/src/test/WixToolsetTest.Core.Native/WixToolsetTest.Core.Native.csproj
+++ b/src/test/WixToolsetTest.Core.Native/WixToolsetTest.Core.Native.csproj
@@ -9,8 +9,7 @@
9 </PropertyGroup> 9 </PropertyGroup>
10 10
11 <ItemGroup> 11 <ItemGroup>
12 <Content Include="TestData\test.cab" CopyToOutputDirectory="PreserveNewest" /> 12 <Content Include="TestData\**" CopyToOutputDirectory="PreserveNewest" />
13 <Content Include="TestData\test.txt" CopyToOutputDirectory="PreserveNewest" />
14 </ItemGroup> 13 </ItemGroup>
15 14
16 <ItemGroup> 15 <ItemGroup>
@@ -18,10 +17,6 @@
18 </ItemGroup> 17 </ItemGroup>
19 18
20 <ItemGroup> 19 <ItemGroup>
21 <PackageReference Include="WixToolset.Data" Version="4.0.*" PrivateAssets="All" />
22 </ItemGroup>
23
24 <ItemGroup>
25 <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.3.0" /> 20 <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.3.0" />
26 <PackageReference Include="xunit" Version="2.4.1" /> 21 <PackageReference Include="xunit" Version="2.4.1" />
27 <PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" PrivateAssets="All" /> 22 <PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" PrivateAssets="All" />
diff --git a/src/wixnative/wixnative.vcxproj b/src/wixnative/wixnative.vcxproj
index 681b2e1e..64c2e7d0 100644
--- a/src/wixnative/wixnative.vcxproj
+++ b/src/wixnative/wixnative.vcxproj
@@ -2,11 +2,6 @@
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <Import Project="..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props" Condition="Exists('..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props')" />
6 <Import Project="..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.props" Condition="Exists('..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.props')" />
7 <Import Project="..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.props" Condition="Exists('..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.props')" />
8 <Import Project="..\..\packages\WixToolset.DUtil.4.0.56\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.56\build\WixToolset.DUtil.props')" />
9
10 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
11 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
12 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
@@ -37,34 +32,23 @@
37 <PropertyGroup Label="Globals"> 32 <PropertyGroup Label="Globals">
38 <ProjectGuid>{8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}</ProjectGuid> 33 <ProjectGuid>{8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}</ProjectGuid>
39 <ConfigurationType>Application</ConfigurationType> 34 <ConfigurationType>Application</ConfigurationType>
40 <ProjectSubSystem>Console</ProjectSubSystem>
41 <TargetName>wixnative</TargetName>
42 <PlatformToolset>v142</PlatformToolset> 35 <PlatformToolset>v142</PlatformToolset>
43 <CharacterSet>Unicode</CharacterSet> 36 <CharacterSet>Unicode</CharacterSet>
37 <ProjectSubSystem>Console</ProjectSubSystem>
38 <TargetName>wixnative</TargetName>
39 <Description>WiX Native Processing</Description>
40 <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
44 </PropertyGroup> 41 </PropertyGroup>
45 42
46 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 43 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
47 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 44 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
48 45
49 <ImportGroup Label="ExtensionSettings">
50 </ImportGroup>
51
52 <ImportGroup Label="Shared">
53 <Import Project="..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets')" />
54 <Import Project="..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.targets" Condition="Exists('..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.targets')" />
55 <Import Project="..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.targets" Condition="Exists('..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.targets')" />
56 <Import Project="..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.targets" Condition="Exists('..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.targets')" />
57 </ImportGroup>
58
59 <PropertyGroup> 46 <PropertyGroup>
60 <ProjectAdditionalLinkLibraries>crypt32.lib;cabinet.lib;msi.lib</ProjectAdditionalLinkLibraries> 47 <ProjectAdditionalLinkLibraries>crypt32.lib;cabinet.lib;msi.lib</ProjectAdditionalLinkLibraries>
61 </PropertyGroup> 48 </PropertyGroup>
62 49
63 <ItemGroup> 50 <ItemGroup>
64 <ClCompile Include="wixnative.cpp"> 51 <ClCompile Include="wixnative.cpp" />
65 <!-- turn off deprecation warning -->
66 <DisableSpecificWarnings>4996</DisableSpecificWarnings>
67 </ClCompile>
68 <ClCompile Include="precomp.cpp"> 52 <ClCompile Include="precomp.cpp">
69 <PrecompiledHeader>Create</PrecompiledHeader> 53 <PrecompiledHeader>Create</PrecompiledHeader>
70 </ClCompile> 54 </ClCompile>
@@ -79,21 +63,14 @@
79 </ItemGroup> 63 </ItemGroup>
80 64
81 <ItemGroup> 65 <ItemGroup>
82 <None Include="packages.config" /> 66 <ContentWithTargetPath Include="$(Platform)\mergemod.dll" CopyToOutputDirectory="PreserveNewest" TargetPath="mergemod.dll" />
67 </ItemGroup>
68
69 <ItemGroup>
70 <PackageReference Include="WixToolset.Dutil" Version="4.0.64" />
71 <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" />
72 <PackageReference Include="Nerdbank.GitVersioning" Version="3.3.37" />
83 </ItemGroup> 73 </ItemGroup>
84 74
85 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 75 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
86 <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 76</Project>
87 <PropertyGroup>
88 <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}.</ErrorText>
89 </PropertyGroup>
90 <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets'))" />
91 <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.56\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.56\build\WixToolset.DUtil.props'))" />
92 <Error Condition="!Exists('..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.props'))" />
93 <Error Condition="!Exists('..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Build.Tasks.Git.1.0.0\build\Microsoft.Build.Tasks.Git.targets'))" />
94 <Error Condition="!Exists('..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.props'))" />
95 <Error Condition="!Exists('..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.SourceLink.Common.1.0.0\build\Microsoft.SourceLink.Common.targets'))" />
96 <Error Condition="!Exists('..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.props'))" />
97 <Error Condition="!Exists('..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.SourceLink.GitHub.1.0.0\build\Microsoft.SourceLink.GitHub.targets'))" />
98 </Target>
99</Project> \ No newline at end of file