﻿<?xml version="1.0" encoding="utf-8"?>
<!--
/***************************************************************************************************
 Copyright (C) 2023 The Qt Company Ltd.
 SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
***************************************************************************************************/
-->

<!--
///////////////////////////////////////////////////////////////////////////////////////////////////
// Qt/MSBuild repc property definitions
// -->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!--
  /////////////////////////////////////////////////////////////////////////////////////////////////
  // Import pre-requisites
  // -->
  <Import
    Condition="'$(QtMsBuildProps_BeforeRepc)' != ''"
    Project="$(QtMsBuildProps_BeforeRepc)"/>

  <!--
  /////////////////////////////////////////////////////////////////////////////////////////////////
  // QtRepc item template
  // -->
  <ItemDefinitionGroup>
    <QtRepc>
      <ExecutionDescription>repc %(Identity)</ExecutionDescription>
      <QTDIR Condition="'$(QtVsProjectSettings)' == 'true'">$(QtInstallDir)</QTDIR>
      <QTDIR Condition="'$(QtVsProjectSettings)' != 'true'">$(QTDIR)</QTDIR>
      <InputFile>%(FullPath)</InputFile>
      <OutputFileType>replica</OutputFileType>
      <OutputFile><![CDATA[$(IntDir)\repc\rep_%(Filename)_%<OutputFileType>.h]]></OutputFile>
      <InputFileType>rep</InputFileType>
      <DynamicSource>moc_cpp</DynamicSource>
      <ParallelProcess>true</ParallelProcess>
      <CommandLineTemplate>[AllOptions] [AdditionalOptions]</CommandLineTemplate>
      <Outputs>%(OutputFile)</Outputs>
    </QtRepc>
  </ItemDefinitionGroup>

  <!--
  /////////////////////////////////////////////////////////////////////////////////////////////////
  // Import dependants
  // -->
  <Import
    Condition="'$(QtMsBuildProps_AfterRepc)' != ''"
    Project="$(QtMsBuildProps_AfterRepc)"/>

</Project>
