| <?xml version="1.0" encoding="utf-8"?> | |
| <!-- | |
| <copyright file="lux.targets" company="Outercurve Foundation"> | |
| Copyright (c) 2004, Outercurve Foundation. | |
| This software is released under Microsoft Reciprocal License (MS-RL). | |
| The license and further copyright text can be found in the file | |
| LICENSE.TXT at the root directory of the distribution. | |
| </copyright> | |
| --> | |
| <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> |