Skip to content
This repository was archived by the owner on Jan 12, 2024. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 14 additions & 12 deletions src/Quantum.Development.Kit/Props/QSharp.targets
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,25 @@
-->
<Target Name="QsharpCompile"
Inputs="@(QsharpFiles)"
Outputs="$(QsharpOutDir)\$(QsharpTree).bson"
Outputs="$(QsharpOutDir)/$(QsharpTree).bson"
DependsOnTargets="QsharpPrepare"
BeforeTargets="CheckForDuplicateItems;CoreCompile"
Condition="$(RunQsc)">
<PropertyGroup>
<QscCommand>$(QscExe) $(QsharpDocsGen) --qst $(QsharpTree) --input &quot;@(QsharpFiles,'&quot; &quot;')&quot; --references &quot;@(QsReferences,'&quot; &quot;')&quot; --output $(QsharpOutDir)</QscCommand>
<QscCommand>$(QscExe) $(QsharpDocsGen) --qst "$(QsharpTree)" --input "@(QsharpFiles,'" "')" --references "@(QsReferences,'" "')" --output "$(QsharpOutDir)"</QscCommand>
</PropertyGroup>
<MakeDir Directories="$(QsharpSrcOutDir)" />
<MakeDir Condition="$(RunQDocGen)" Directories="$(QsharpDocsOutDir)" />
<WriteLinesToFile File="$(QsharpOutDir)qsc-command.txt" Lines=":: files ::;@(QsharpFiles);:: qsim ::;$(QSimDll);;:: references ::;@(QsReferences);:: command ::;$(QscCommand)" Overwrite="true"/>
<!-- Remove all existing codegen files first: -->
<ItemGroup>
<QsharpCodegenFiles Include="$(QsharpSrcOutDir)**\*.*" />
<QsharpCodegenFiles Include="$(QsharpSrcOutDir)**/*.*" />
</ItemGroup>
<Delete Files="@(QsharpCodegenFiles)" />
<Exec Command="$(QscCommand)" />
<ItemGroup>
<EmbeddedResource Include="$(QsharpOutDir)\$(QsharpTree).bson" LogicalName="__qsharp_data__.bson" Visible="false" />
<Compile Include="$(QsharpSrcOutDir)**\*.g.cs" Visible="false" AutoGen="true" />
<EmbeddedResource Include="$(QsharpOutDir)/$(QsharpTree).bson" LogicalName="__qsharp_data__.bson" Visible="false" />
<Compile Include="$(QsharpSrcOutDir)**/*.g.cs" Visible="false" AutoGen="true" />
</ItemGroup>
</Target>

Expand All @@ -36,7 +36,7 @@
DependsOnTargets="QsharpPrepare"
BeforeTargets="Clean">
<ItemGroup>
<QsharpBuiltFiles Include="$(QsharpOutDir)**\*.*" />
<QsharpBuiltFiles Include="$(QsharpOutDir)**/*.*" />
</ItemGroup>
<Delete Files="@(QsharpBuiltFiles)" />
</Target>
Expand All @@ -52,21 +52,23 @@
<QsharpFiles Include="@(QsharpCompile)">
<Visible>false</Visible>
</QsharpFiles>
<SkippedQsharpFiles Include="**\*.qs" Exclude="@(QsharpFiles);@(QsharpIgnore)">
<SkippedQsharpFiles Include="**/*.qs" Exclude="@(QsharpFiles);@(QsharpIgnore)">
<Visible>false</Visible>
</SkippedQsharpFiles>
</ItemGroup>
<PropertyGroup>
<QsharpOutDir Condition="'$(QsharpOutDir)' == ''">$(BaseIntermediateOutputPath)qsharp</QsharpOutDir>
<QsharpOutDir Condition="!HasTrailingSlash('$(QsharpOutDir)')">$(QsharpOutDir)\</QsharpOutDir>
<QsharpSrcOutDir Condition="'$(QsharpSrcOutDir)' == ''">$(QsharpOutDir)src\</QsharpSrcOutDir>
<QsharpOutDir>$([MSBuild]::Unescape('$(QsharpOutDir)').Replace('\', '/'))</QsharpOutDir>
<QsharpOutDir Condition="!HasTrailingSlash('$(QsharpOutDir)')">$(QsharpOutDir)/</QsharpOutDir>
<QsharpSrcOutDir Condition="'$(QsharpSrcOutDir)' == ''">$(QsharpOutDir)src/</QsharpSrcOutDir>
<QsharpFormatBackupDir Condition="'$(QsharpFormatBackupDir)' == ''">$(QsharpOutDir).backup.$([System.DateTime]::Now.ToString(`yyyyMMddhhmmss`))</QsharpFormatBackupDir>
<QsharpDocsOutDir Condition="'$(QsharpDocsOutDir)' == ''">$(QsharpOutDir)docs\</QsharpDocsOutDir>
<QsharpDocsGen Condition="$(RunQDocGen)">--doc $(QsharpDocsOutDir)</QsharpDocsGen>
<QsharpDocsOutDir Condition="'$(QsharpDocsOutDir)' == ''">$(QsharpOutDir)docs/</QsharpDocsOutDir>
<QsharpDocsOutDir>$([MSBuild]::Unescape('$(QsharpDocsOutDir)').Replace('\', '/'))</QsharpDocsOutDir>
<QsharpDocsGen Condition="$(RunQDocGen)">--doc "$(QsharpDocsOutDir)"</QsharpDocsGen>
<QsharpTree Condition="'$(QsharpTree)' == ''">$([System.String]::Copy('$(AssemblyName)').Replace(' ',''))</QsharpTree>
</PropertyGroup>
<Warning
Condition="'@(SkippedQbFiles)' != ''"
Text="Some .qs files in your project will be skipped during build: @(SkippedQsharpFiles)" />
</Target>
</Project>
</Project>