| <?xml version="1.0" encoding="utf-8"?> |
| <!-- |
| **************************************************************************************************** |
| lux.targets |
| **************************************************************************************************** |
| --> |
| |
| <Project |
| xmlns="http://schemas.microsoft.com/developer/msbuild/2003" |
| ToolsVersion="3.5"> |
| |
| <UsingTask TaskName="GenerateTestConsumer" AssemblyFile="$(LuxTasksPath)" /> |
| <UsingTask TaskName="Nit" AssemblyFile="$(LuxTasksPath)" /> |
| |
| <PropertyGroup> |
| <BuildTestPackageDependsOn>Compile;_ScanForUnitTests;_GenerateTestConsumer;Link</BuildTestPackageDependsOn> |
| <TestDependsOn>$(BuildTestPackageDependsOn)</TestDependsOn> |
| </PropertyGroup> |
| |
| <ItemGroup> |
| <GeneratedTestConsumer Include="$(OutputName)_test.wxs" /> |
| </ItemGroup> |
| |
| <Target |
| Name="_ScanForUnitTests"> |
| |
| <!-- |
| So the Link target can do proper up-to-date checking, we need to give it the right list of |
| .wixobj inputs, which we get by scanning for unit tests and not generating a test consumer. |
| --> |
| |
| <GenerateTestConsumer |
| InputFiles="@(CompileObjOutput);@(WixObject);@(WixLibProjects);@(_ResolvedWixLibraryPaths)" |
| Extensions="@(_ResolvedWixExtensionPaths)"> |
| <Output TaskParameter="InputFragments" ItemName="FilesThatAreFragments" /> |
| </GenerateTestConsumer> |
| |
| <ItemGroup> |
| <CompileObjOutput |
| Remove="@(CompileObjOutput)" /> |
| <CompileObjOutput |
| Include=" |
| @(GeneratedTestConsumer -> '$(IntermediateOutputPath)%(Filename)$(IntermediateExt)'); |
| @(FilesThatAreFragments); |
| " /> |
| </ItemGroup> |
| |
| <PropertyGroup> |
| <TargetName>$(OutputName)_test</TargetName> |
| <SuppressIces>ICE71;$(SuppressIces)</SuppressIces> |
| <SuppressValidation>true</SuppressValidation> |
| </PropertyGroup> |
| |
| </Target> |
| |
| <Target |
| Name="_GenerateTestConsumer" |
| Inputs="@(Compile); |
| @(Content); |
| @(_ResolvedWixExtensionPaths); |
| @(_ResolvedProjectReferencePaths); |
| $(MSBuildAllProjects)" |
| Outputs="@(GeneratedTestConsumer -> '$(IntermediateOutputPath)%(Filename)$(IntermediateExt)')"> |
| |
| <GenerateTestConsumer |
| InputFiles="@(CompileObjOutput);@(WixObject);@(WixLibProjects);@(_ResolvedWixLibraryPaths)" |
| Extensions="@(_ResolvedWixExtensionPaths)" |
| OutputFile="@(GeneratedTestConsumer)"> |
| <Output TaskParameter="InputFragments" ItemName="FilesThatAreFragments" /> |
| </GenerateTestConsumer> |
| |
| <Candle |
| SourceFiles="@(GeneratedTestConsumer)" |
| AdditionalOptions="$(CompilerAdditionalOptions)" |
| DefineConstants="$(DefineConstants);$(SolutionDefineConstants);$(ProjectDefineConstants);$(ProjectReferenceDefineConstants)" |
| ExtensionDirectory="$(WixExtDir)" |
| Extensions="@(_ResolvedWixExtensionPaths)" |
| FipsCompliant="$(FipsCompliant)" |
| IncludeSearchPaths="$(IncludeSearchPaths)" |
| InstallerPlatform="$(InstallerPlatform)" |
| NoLogo="$(CompilerNoLogo)" |
| OutputFile="$(IntermediateOutputPath)" |
| Pedantic="$(Pedantic)" |
| ReferencePaths="$(ReferencePaths)" |
| RunAsSeparateProcess="$(RunWixToolsOutOfProc)" |
| ShowSourceTrace="$(ShowSourceTrace)" |
| SuppressAllWarnings="$(CompilerSuppressAllWarnings)" |
| SuppressSchemaValidation="$(CompilerSuppressSchemaValidation)" |
| SuppressSpecificWarnings="$(CompilerSuppressSpecificWarnings)" |
| ToolPath="$(WixToolPath)" |
| TreatWarningsAsErrors="$(CompilerTreatWarningsAsErrors)" |
| TreatSpecificWarningsAsErrors="$(CompilerTreatSpecificWarningsAsErrors)" |
| VerboseOutput="$(CompilerVerboseOutput)" /> |
| </Target> |
| |
| <Target |
| Name="BuildTestPackage" |
| Inputs="@(CompileObjOutput); |
| @(WixObject); |
| @(_ResolvedProjectReferencePaths); |
| @(_ResolvedWixLibraryPaths); |
| @(_ResolvedWixExtensionPaths); |
| $(MSBuildAllProjects)" |
| Outputs="$(TargetPath)" |
| DependsOnTargets="$(BuildTestPackageDependsOn)" /> |
| |
| <Target |
| Name="Test" |
| DependsOnTargets="$(BuildTestPackageDependsOn)"> |
| |
| <Nit |
| TestPackages="$(TargetPath)" |
| ToolPath="$(WixToolPath)" /> |
| </Target> |
| </Project> |