diff options
Diffstat (limited to 'src/qtmsbuild/repc/qtrepc_cl.targets_TT')
-rw-r--r-- | src/qtmsbuild/repc/qtrepc_cl.targets_TT | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/src/qtmsbuild/repc/qtrepc_cl.targets_TT b/src/qtmsbuild/repc/qtrepc_cl.targets_TT new file mode 100644 index 00000000..9270a848 --- /dev/null +++ b/src/qtmsbuild/repc/qtrepc_cl.targets_TT @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ***************************************************************************** + ** + ** Copyright (C) 2019 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$ + ** + ***************************************************************************** +<#@output extension="targets" #> +<#@include file="$(SolutionDir)\common.tt" #> +<#@assembly Name="System.Xml" #> +<#@assembly Name="System.Xml.Linq" #> +<#@import namespace="System.Collections.Generic" #> +<#@import namespace="System.Linq" #> +<#@import namespace="System.Text" #> +<#@import namespace="System.Xml" #> +<#@import namespace="System.Xml.Linq" #> +<# + var pathRuleCl = Path.Combine(VC_TARGETS_PATH, "1033", "cl.xml"); + var xmlRule = XmlLoad(File.ReadAllText(pathRuleCl, Encoding.UTF8)); +#> + ** <#=WARNING_GENERATED_FILE#> + ***************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Target Name="QtRepcOverrideCpp" DependsOnTargets="QtRepcPrepare" + Inputs="%(QtRepc.Identity)" Outputs="@(QtRepc->'####### Don't skip this target #######')"> + + <Message Importance="High" Condition="'$(QtDebug)' == 'true'" + Text="## QtRepcOverrideCpp @(QtRepc)" /> + + <PropertyGroup Condition="'$(QtVsProjectClProperties)' == 'true'"> + <override_cl_compile>%(QtRepc.OverrideClCompile)</override_cl_compile> + </PropertyGroup> + + <ItemGroup Condition="'$(override_cl_compile)' == 'extend'"> + <QtRepc> + <!-- BEGIN Generated Text <#=XML_COMMENT_END#> +<#= +XmlPrint(xmlRule.Elements() + .Where(x => x.Name.ToString().Equals("StringListProperty")) + .Where(x => (string)x.Attribute("Visible") != "false") + .Where(x => (string)x.Attribute("Category") != "Command Line") + .Where(x => !x.Descendants("DataSource").Any()) + .Select(x => new XElement((string)x.Attribute("Name"), + string.Format( +"@(ClCompile->WithMetadataValue('Identity','DefaultClCompile')->'%({0})');%(QtRepc.{0})", + (string)x.Attribute("Name"))))) +#> + <#=XML_COMMENT_BEGIN#> END Generated Text --> + </QtRepc> + <QtRepc> + <IncludePath>%(QtRepc.AdditionalIncludeDirectories)</IncludePath> + </QtRepc> + </ItemGroup> + + <ItemGroup Condition="'$(override_cl_compile)' == 'replace'"> + <QtRepc> + <IncludePath Condition="'%(QtRepc.AdditionalIncludeDirectories)' != ''" + >%(QtRepc.AdditionalIncludeDirectories)</IncludePath> + <IncludePath Condition="'%(QtRepc.AdditionalIncludeDirectories)' == ''" + >@(ClCompile-> + WithMetadataValue('Identity','DefaultClCompile')-> + '%(AdditionalIncludeDirectories)')</IncludePath> + </QtRepc> + </ItemGroup> + + <ItemGroup Condition="'$(override_cl_compile)' == 'false'"> + <QtRepc> + <!-- BEGIN Generated Text <#=XML_COMMENT_END#> +<#= +XmlPrint(xmlRule.Elements() + .Where(x => x.Name.ToString().EndsWith("Property")) + .Where(x => (string)x.Attribute("Visible") != "false") + .Where(x => (string)x.Attribute("Category") != "Command Line") + .Where(x => !x.Descendants("DataSource").Any()) + .Select(x => new XElement((string)x.Attribute("Name"), + new XAttribute("Condition", + string.Format("'%(QtRepc.{0})' != ''", (string)x.Attribute("Name"))), + string.Format( + "@(ClCompile->WithMetadataValue('Identity','DefaultClCompile')->'%({0})')", + (string)x.Attribute("Name"))))) +#> + <#=XML_COMMENT_BEGIN#> END Generated Text --> + <IncludePath + >@(ClCompile-> + WithMetadataValue('Identity','DefaultClCompile')-> + '%(AdditionalIncludeDirectories)')</IncludePath> + </QtRepc> + </ItemGroup> + + <!-- + /////////////////////////////////////////////////////////////////////////////////////////////// + // Clean-up + // --> + <PropertyGroup> + <override_cl_compile/> + </PropertyGroup> + </Target> +</Project> |