mirror of
https://github.com/Alia5/GlosSI.git
synced 2024-11-09 01:10:24 +00:00
aff24b8a7e
Add QtMsBuild for appveyor -.-
589 lines
22 KiB
XML
589 lines
22 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
/****************************************************************************
|
|
**
|
|
** Copyright (C) 2021 The Qt Company Ltd.
|
|
** Contact: https://www.qt.io/licensing/
|
|
**
|
|
** This file is part of the Qt VS Tools.
|
|
**
|
|
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
|
** Commercial License Usage
|
|
** Licensees holding valid commercial Qt licenses may use this file in
|
|
** accordance with the commercial license agreement provided with the
|
|
** Software or, alternatively, in accordance with the terms contained in
|
|
** a written agreement between you and The Qt Company. For licensing terms
|
|
** and conditions see https://www.qt.io/terms-conditions. For further
|
|
** information use the contact form at https://www.qt.io/contact-us.
|
|
**
|
|
** GNU General Public License Usage
|
|
** Alternatively, this file may be used under the terms of the GNU
|
|
** General Public License version 3 as published by the Free Software
|
|
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
|
** included in the packaging of this file. Please review the following
|
|
** information to ensure the GNU General Public License requirements will
|
|
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
|
**
|
|
** $QT_END_LICENSE$
|
|
**
|
|
****************************************************************************/
|
|
-->
|
|
|
|
<!--
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Definitions specific to translation
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// -->
|
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<!--
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Import pre-requisites
|
|
// -->
|
|
<Import
|
|
Condition="'$(QtMsBuildTargets_BeforeTranslation)' != ''"
|
|
Project="$(QtMsBuildTargets_BeforeTranslation)"/>
|
|
|
|
<!--
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Qt/MSBuild global properties
|
|
// -->
|
|
<PropertyGroup>
|
|
<QtDependsOn>$(QtDependsOn);QtTranslation</QtDependsOn>
|
|
</PropertyGroup>
|
|
|
|
<!--
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Build integration
|
|
// -->
|
|
<PropertyGroup>
|
|
<BuildDependsOn>
|
|
$(BuildDependsOn);
|
|
QtTranslation
|
|
</BuildDependsOn>
|
|
<CleanDependsOn>
|
|
$(CleanDependsOn);
|
|
QtTranslationClean
|
|
</CleanDependsOn>
|
|
</PropertyGroup>
|
|
|
|
<!--
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Setup item type and property page
|
|
// -->
|
|
<ItemGroup>
|
|
<PropertyPageSchema
|
|
Include="$(MSBuildThisFileDirectory)qttranslation.xml" />
|
|
<AvailableItemName Include="QtTranslation">
|
|
<Targets>QtTranslation</Targets>
|
|
</AvailableItemName>
|
|
</ItemGroup>
|
|
|
|
<!--
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
/// TARGET QtTranslationPrepare
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Calculate paths to input and output files
|
|
// -->
|
|
<Target Name="QtTranslationPrepare">
|
|
<ItemGroup>
|
|
<QtTranslation Include="@(None)" Condition="'%(None.Extension)' == '.ts'" />
|
|
<QtTranslation>
|
|
<InputFiles
|
|
>$(QtTranslationInput)</InputFiles>
|
|
<LUpdate
|
|
>$(QtToolsPath)/lupdate</LUpdate>
|
|
<LRelease
|
|
>$(QtToolsPath)/lrelease</LRelease>
|
|
<TsFile
|
|
>%(Identity)</TsFile>
|
|
<QmFile
|
|
>$([System.IO.Path]::Combine('%(QmOutputDir)', '%(QmOutputFile)'))</QmFile>
|
|
<InputListFile
|
|
>$([System.IO.Path]::Combine('$(IntDir)', '%(Filename).in.txt'))</InputListFile>
|
|
</QtTranslation>
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<!--
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
/// TARGET QtTranslationSelect
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Select files to include in build
|
|
// -->
|
|
<Target Name="QtTranslationSelect"
|
|
DependsOnTargets="QtTranslationPrepare">
|
|
<PropertyGroup>
|
|
<QtHasTranslation Condition="'@(QtTranslation)' != ''">true</QtHasTranslation>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<selected_files Include="$(SelectedFiles)"/>
|
|
</ItemGroup>
|
|
<ItemGroup Condition="'@(selected_files)' != ''">
|
|
<QtTranslation Remove="@(QtTranslation)" Condition="'%(Identity)' != '@(selected_files)'"/>
|
|
<QtTranslation>
|
|
<ForceRebuild>####### Don't skip this target #######</ForceRebuild>
|
|
</QtTranslation>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<QtTranslationUpdate
|
|
Include="@(QtTranslation)"
|
|
Condition="'$(QtTranslationForceUpdate)' == 'true'
|
|
OR $([System.String]::Copy('%(BuildAction)').Contains('lupdate'))">
|
|
<Force Condition="'$(QtTranslationForceUpdate)' == 'true'">true</Force>
|
|
</QtTranslationUpdate>
|
|
<QtTranslationRelease
|
|
Include="@(QtTranslation)"
|
|
Condition="'$(QtTranslationForceRelease)' == 'true'
|
|
OR $([System.String]::Copy('%(BuildAction)').Contains('lrelease'))">
|
|
<Force Condition="'$(QtTranslationForceRelease)' == 'true'">true</Force>
|
|
</QtTranslationRelease>
|
|
<selected_files Remove="@(selected_files)"/>
|
|
</ItemGroup>
|
|
<Delete
|
|
Condition="'%(QtTranslationUpdate.Force)' == 'true'"
|
|
Files="%(QtTranslationUpdate.InputListFile)"
|
|
TreatErrorsAsWarnings="true"/>
|
|
<Delete
|
|
Condition="'%(QtTranslationRelease.Force)' == 'true'"
|
|
Files="%(QtTranslationRelease.QmFile)"
|
|
TreatErrorsAsWarnings="true"/>
|
|
<Message Importance="high"
|
|
Condition="'$(SelectedFiles)' != ''
|
|
AND '$(QtHasTranslation)' == 'true'
|
|
AND '@(QtTranslationUpdate)' == ''
|
|
AND '@(QtTranslationRelease)' == ''"
|
|
Text="Translation disabled during build; skipping."/>
|
|
</Target>
|
|
|
|
<!--
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
/// TARGET QtTranslationUpdate
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Run lupdate on .ts files
|
|
// -->
|
|
<Target Name="QtTranslationUpdate"
|
|
DependsOnTargets="QtTranslationSelect"
|
|
Condition="'@(QtTranslationUpdate)' != ''"
|
|
Inputs="%(QtTranslationUpdate.InputFiles);
|
|
%(QtTranslationUpdate.InputListFile);
|
|
$(MSBuildProjectFile)"
|
|
Outputs="%(QtTranslationUpdate.TsFile);%(QtTranslationUpdate.ForceRebuild)">
|
|
|
|
<!--
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Flatten metadata: items => list of (item, metadata name, metadata value)
|
|
// -->
|
|
<Flatten Items="@(QtTranslationUpdate)"
|
|
Metadata="LUpdate;
|
|
TsFile;
|
|
QmFile;
|
|
InputListFile;
|
|
InputFiles;
|
|
IncludePath;
|
|
SourceLanguage;
|
|
TargetLanguage;
|
|
NoObsolete;
|
|
PluralOnly;
|
|
UpdateSilent;
|
|
NoSort;
|
|
Locations;
|
|
NoUiLines;
|
|
DisableSameTextHeuristic;
|
|
DisableSimilarTextHeuristic;
|
|
DisableNumberHeuristic;
|
|
FunctionAliases">
|
|
<Output
|
|
TaskParameter="Result" ItemName="LocalOptions" />
|
|
</Flatten>
|
|
|
|
<!--
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Translate local paths to build host paths
|
|
// -->
|
|
<HostTranslatePaths
|
|
Items="@(LocalOptions)"
|
|
Names="TsFile;QmFile;InputListFile;InputFiles;IncludePath">
|
|
<Output
|
|
TaskParameter="Result" ItemName="Options" />
|
|
</HostTranslatePaths>
|
|
|
|
<!--
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Sanitize paths
|
|
// -->
|
|
<ItemGroup>
|
|
<!-- Remove quotes from paths -->
|
|
<Options>
|
|
<Value Condition="('%(Name)' == 'TsFile'
|
|
OR '%(Name)' == 'QmFile'
|
|
OR '%(Name)' == 'LUpdate'
|
|
OR '%(Name)' == 'InputFiles'
|
|
OR '%(Name)' == 'InputListFile'
|
|
OR '%(Name)' == 'IncludePath')"
|
|
>$([System.String]::Copy('%(Value)').Replace('"', ''))</Value>
|
|
</Options>
|
|
<!-- Escape trailing back-slash in paths with spaces -->
|
|
<Options>
|
|
<Value Condition="('%(Name)' == 'TsFile'
|
|
OR '%(Name)' == 'QmFile'
|
|
OR '%(Name)' == 'LUpdate'
|
|
OR '%(Name)' == 'InputListFile'
|
|
OR '%(Name)' == 'IncludePath')
|
|
AND $([System.String]::Copy('%(Value)').Contains(' '))
|
|
AND $([System.String]::Copy('%(Value)').EndsWith('\'))"
|
|
>%(Value)\</Value>
|
|
</Options>
|
|
<!-- Add quotes to paths with spaces -->
|
|
<Options>
|
|
<Value Condition="('%(Name)' == 'TsFile'
|
|
OR '%(Name)' == 'QmFile'
|
|
OR '%(Name)' == 'LUpdate'
|
|
OR '%(Name)' == 'IncludePath')
|
|
AND $([System.String]::Copy('%(Value)').Contains(' '))"
|
|
>"%(Value)"</Value>
|
|
</Options>
|
|
</ItemGroup>
|
|
|
|
<!--
|
|
//////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Format lupdate command line arguments
|
|
// -->
|
|
<ItemGroup>
|
|
<Options>
|
|
<InputFiles Condition="'%(Name)' == 'InputFiles' AND Exists('%(Value)')"
|
|
>%(Value)</InputFiles>
|
|
</Options>
|
|
<Options>
|
|
<CmdExec Condition="'%(Name)' == 'LUpdate'"
|
|
>%(Value)</CmdExec>
|
|
</Options>
|
|
<Options>
|
|
<CmdOutput Condition="'%(Name)' == 'TsFile'"
|
|
>-ts %(Value)</CmdOutput>
|
|
<OutputFile Condition="'%(Name)' == 'TsFile'"
|
|
>%(Value)</OutputFile>
|
|
</Options>
|
|
<Options>
|
|
<CmdList Condition="'%(Name)' == 'InputListFile'"
|
|
>"@%(Value)"</CmdList>
|
|
<InputListFile Condition="'%(Name)' == 'InputListFile'"
|
|
>%(Value)</InputListFile>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'SourceLanguage' AND '%(Value)' != 'default'"
|
|
>-source-language %(Value)</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'TargetLanguage' AND '%(Value)' != 'default'"
|
|
>-target-language %(Value)</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'NoObsolete' AND '%(Value)' == 'true'"
|
|
>-no-obsolete</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'PluralOnly' AND '%(Value)' == 'true'"
|
|
>-pluralonly</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'UpdateSilent' AND '%(Value)' == 'true'"
|
|
>-silent</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'NoSort' AND '%(Value)' == 'true'"
|
|
>-no-sort</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'Locations' AND '%(Value)' == 'absolute'"
|
|
>-locations %(Value)</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'Locations' AND '%(Value)' == 'relative'"
|
|
>-locations %(Value)</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'Locations' AND '%(Value)' == 'none'"
|
|
>-locations %(Value)</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'NoUiLines' AND '%(Value)' == 'true'"
|
|
>-no-ui-lines</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'DisableSameTextHeuristic' AND '%(Value)' == 'true'"
|
|
>-disable-heuristic sametext</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'DisableSimilarTextHeuristic' AND '%(Value)' == 'true'"
|
|
>-disable-heuristic similartext</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'DisableNumberHeuristic' AND '%(Value)' == 'true'"
|
|
>-disable-heuristic number</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'IncludePath'"
|
|
>-I%(Value)</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'FunctionAliases'"
|
|
>-tr-function-alias %(Value)</CmdOption>
|
|
</Options>
|
|
</ItemGroup>
|
|
|
|
<!--
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Write list of input files
|
|
// -->
|
|
<WriteLinesToFile
|
|
Overwrite="true"
|
|
File="@(Options->'%(InputListFile)')"
|
|
Lines="@(Options->'%(InputFiles)')"/>
|
|
|
|
<!--
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Run lupdate
|
|
// -->
|
|
<PropertyGroup>
|
|
<!-- Generate command line -->
|
|
<Cmd>
|
|
@(Options->'%(CmdExec)', '')
|
|
@(Options->'%(CmdOption)', ' ')
|
|
@(QtTranslationUpdate->'%(UpdateAdditionalOptions)')
|
|
@(Options->'%(CmdList)', '')
|
|
@(Options->'%(CmdOutput)', '')
|
|
</Cmd>
|
|
<Cmd>$([System.Text.RegularExpressions.Regex]::Replace('$(Cmd)', '[\s\r\n]+', ' '))</Cmd>
|
|
<Cmd>$(Cmd.Trim())</Cmd>
|
|
</PropertyGroup>
|
|
<HostExec
|
|
Message="%(QtTranslationUpdate.UpdateDescription)"
|
|
Command="$(Cmd)"
|
|
Inputs="@(Options->'%(InputListFile)');@(Options->'%(InputFiles)')"
|
|
Outputs="@(Options->'%(OutputFile)')"
|
|
RemoteTarget="$(ResolvedRemoteTarget)"
|
|
RemoteProjectDir="$(_ResolvedRemoteProjectDir)">
|
|
</HostExec>
|
|
|
|
<!--
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Clean-up
|
|
// -->
|
|
<PropertyGroup>
|
|
<Cmd/>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<LocalOptions Remove="@(LocalOptions)"/>
|
|
<Options Remove="@(Options)"/>
|
|
<QtTranslationUpdate Remove="@(QtTranslationUpdate)"/>
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<!--
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
/// TARGET QtTranslationRelease
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Run lrelease on .ts files
|
|
// -->
|
|
<Target Name="QtTranslationRelease"
|
|
DependsOnTargets="QtTranslationSelect;
|
|
QtTranslationUpdate"
|
|
Condition="'@(QtTranslationRelease)' != ''"
|
|
Inputs="%(QtTranslationRelease.TsFile);
|
|
$(MSBuildProjectFile)"
|
|
Outputs="%(QtTranslationRelease.QmFile);
|
|
%(QtTranslationRelease.ForceRebuild)">
|
|
|
|
<!--
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Flatten metadata: items => list of (item, metadata name, metadata value)
|
|
// -->
|
|
<Flatten Items="@(QtTranslationRelease)"
|
|
Metadata="LRelease;
|
|
TsFile;
|
|
QmFile;
|
|
IdBased;
|
|
Compress;
|
|
NoUnfinished;
|
|
RemoveIdentical;
|
|
ReleaseSilent;
|
|
UntranslatedPrefix">
|
|
<Output
|
|
TaskParameter="Result" ItemName="LocalOptions" />
|
|
</Flatten>
|
|
|
|
<!--
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Translate local paths to build host paths
|
|
// -->
|
|
<HostTranslatePaths
|
|
Items="@(LocalOptions)"
|
|
Names="LRelease;TsFile;QmFile">
|
|
<Output
|
|
TaskParameter="Result" ItemName="Options" />
|
|
</HostTranslatePaths>
|
|
|
|
<!--
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Sanitize paths
|
|
// -->
|
|
<ItemGroup>
|
|
<!-- Remove quotes from paths -->
|
|
<Options>
|
|
<Value Condition="('%(Name)' == 'TsFile'
|
|
OR '%(Name)' == 'QmFile'
|
|
OR '%(Name)' == 'LRelease')"
|
|
>$([System.String]::Copy('%(Value)').Replace('"', ''))</Value>
|
|
</Options>
|
|
<!-- Escape trailing back-slash in paths with spaces -->
|
|
<Options>
|
|
<Value Condition="('%(Name)' == 'TsFile'
|
|
OR '%(Name)' == 'QmFile'
|
|
OR '%(Name)' == 'LRelease')
|
|
AND $([System.String]::Copy('%(Value)').Contains(' '))
|
|
AND $([System.String]::Copy('%(Value)').EndsWith('\'))"
|
|
>%(Value)\</Value>
|
|
</Options>
|
|
<!-- Add quotes to paths with spaces -->
|
|
<Options>
|
|
<Value Condition="('%(Name)' == 'TsFile'
|
|
OR '%(Name)' == 'QmFile'
|
|
OR '%(Name)' == 'LRelease')
|
|
AND $([System.String]::Copy('%(Value)').Contains(' '))"
|
|
>"%(Value)"</Value>
|
|
</Options>
|
|
</ItemGroup>
|
|
|
|
<!--
|
|
//////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Format lrelease command line arguments
|
|
// -->
|
|
<ItemGroup>
|
|
<Options>
|
|
<CmdExec Condition="'%(Name)' == 'LRelease'"
|
|
>%(Value)</CmdExec>
|
|
</Options>
|
|
<Options>
|
|
<CmdInput Condition="'%(Name)' == 'TsFile'"
|
|
>%(Value)</CmdInput>
|
|
<InputFile Condition="'%(Name)' == 'TsFile'"
|
|
>%(Value)</InputFile>
|
|
</Options>
|
|
<Options>
|
|
<CmdOutput Condition="'%(Name)' == 'QmFile'"
|
|
>-qm %(Value)</CmdOutput>
|
|
<OutputFile Condition="'%(Name)' == 'QmFile'"
|
|
>%(Value)</OutputFile>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'IdBased' AND '%(Value)' == 'true'"
|
|
>-idbased</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'Compress' AND '%(Value)' == 'true'"
|
|
>-compress</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'NoUnfinished' AND '%(Value)' == 'true'"
|
|
>-nounfinished</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'RemoveIdentical' AND '%(Value)' == 'true'"
|
|
>-removeidentical</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'ReleaseSilent' AND '%(Value)' == 'true'"
|
|
>-silent</CmdOption>
|
|
</Options>
|
|
<Options>
|
|
<CmdOption Condition="'%(Name)' == 'UntranslatedPrefix'"
|
|
>-markuntranslated %(Value)</CmdOption>
|
|
</Options>
|
|
</ItemGroup>
|
|
|
|
<!--
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Run lrelease
|
|
// -->
|
|
<PropertyGroup>
|
|
<!-- Generate command line -->
|
|
<Cmd>
|
|
@(Options->'%(CmdExec)', '')
|
|
@(Options->'%(CmdOption)', ' ')
|
|
@(QtTranslationRelease->'%(ReleaseAdditionalOptions)')
|
|
@(Options->'%(CmdInput)', '')
|
|
@(Options->'%(CmdOutput)', '')
|
|
</Cmd>
|
|
<Cmd>$([System.Text.RegularExpressions.Regex]::Replace('$(Cmd)', '[\s\r\n]+', ' '))</Cmd>
|
|
<Cmd>$(Cmd.Trim())</Cmd>
|
|
</PropertyGroup>
|
|
<HostExec
|
|
Message="%(QtTranslationRelease.ReleaseDescription)"
|
|
Command="$(Cmd)"
|
|
Inputs="@(Options->'%(InputFile)')"
|
|
Outputs="@(Options->'%(OutputFile)')"
|
|
RemoteTarget="$(ResolvedRemoteTarget)"
|
|
RemoteProjectDir="$(_ResolvedRemoteProjectDir)">
|
|
</HostExec>
|
|
|
|
<!--
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Clean-up
|
|
// -->
|
|
<PropertyGroup>
|
|
<Cmd/>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<LocalOptions Remove="@(LocalOptions)"/>
|
|
<Options Remove="@(Options)"/>
|
|
<QtTranslationRelease Remove="@(QtTranslationRelease)"/>
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<!--
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
/// TARGET QtTranslation
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// -->
|
|
<Target Name="QtTranslation"
|
|
DependsOnTargets="$(QtTranslationDependsOn);
|
|
QtTranslationSelect;
|
|
QtTranslationUpdate;
|
|
QtTranslationRelease"
|
|
BeforeTargets="$(QtTranslationBeforeTargets)"
|
|
AfterTargets="Link;
|
|
$(QtTranslationAfterTargets)">
|
|
<!--
|
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Clean-up
|
|
// -->
|
|
<ItemGroup>
|
|
<QtTranslationUpdate Remove="@(QtTranslationUpdate)"/>
|
|
<QtTranslationRelease Remove="@(QtTranslationRelease)"/>
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<!--
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
/// TARGET QtTranslationClean
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// -->
|
|
<Target Name="QtTranslationClean"
|
|
DependsOnTargets="QtTranslationPrepare">
|
|
<Delete
|
|
Files="@(QtTranslation->'%(InputListFile)');@(QtTranslation->'%(QmFile)')"
|
|
TreatErrorsAsWarnings="true"/>
|
|
</Target>
|
|
|
|
<!--
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Import dependants
|
|
// -->
|
|
<Import
|
|
Condition="'$(QtMsBuildTargets_AfterTranslation)' != ''"
|
|
Project="$(QtMsBuildTargets_AfterTranslation)"/>
|
|
|
|
</Project>
|