diff options
Diffstat (limited to 'src/qtmsbuild/moc/qtmoc_cl.targets_TT')
-rw-r--r-- | src/qtmsbuild/moc/qtmoc_cl.targets_TT | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/src/qtmsbuild/moc/qtmoc_cl.targets_TT b/src/qtmsbuild/moc/qtmoc_cl.targets_TT new file mode 100644 index 00000000..71409511 --- /dev/null +++ b/src/qtmsbuild/moc/qtmoc_cl.targets_TT @@ -0,0 +1,143 @@ +<?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="QtMocOverrideCpp" DependsOnTargets="QtMocPrepare" + Inputs="%(QtMoc.Identity)" Outputs="@(QtMoc->'####### Don't skip this target #######')"> + + <Message Importance="High" Condition="'$(QtDebug)' == 'true'" + Text="## QtMocOverrideCpp @(QtMoc)" /> + + <PropertyGroup Condition="'$(QtVsProjectClProperties)' == 'true'"> + <override_cl_compile>%(QtMoc.OverrideClCompile)</override_cl_compile> + </PropertyGroup> + + <ItemGroup Condition="'$(override_cl_compile)' == 'extend'"> + <QtMoc> + <!-- 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})');%(QtMoc.{0})", + (string)x.Attribute("Name"))))) +#> + <#=XML_COMMENT_BEGIN#> END Generated Text --> + </QtMoc> + <QtMoc> + <IncludePath>%(QtMoc.AdditionalIncludeDirectories)</IncludePath> + <Define>%(QtMoc.PreprocessorDefinitions)</Define> + <Undefine>%(QtMoc.UndefinePreprocessorDefinitions)</Undefine> + </QtMoc> + </ItemGroup> + + <ItemGroup Condition="'$(override_cl_compile)' == 'replace'"> + <QtMoc> + <IncludePath Condition="'%(QtMoc.AdditionalIncludeDirectories)' != ''" + >%(QtMoc.AdditionalIncludeDirectories)</IncludePath> + <IncludePath Condition="'%(QtMoc.AdditionalIncludeDirectories)' == ''" + >@(ClCompile-> + WithMetadataValue('Identity', 'DefaultClCompile')-> + '%(AdditionalIncludeDirectories)')</IncludePath> + <Define Condition="'%(QtMoc.PreprocessorDefinitions)' != ''" + >%(QtMoc.PreprocessorDefinitions)</Define> + <Define Condition="'%(QtMoc.PreprocessorDefinitions)' == ''" + >@(ClCompile-> + WithMetadataValue('Identity','DefaultClCompile')-> + '%(PreprocessorDefinitions)')</Define> + <Undefine Condition="'%(QtMoc.UndefinePreprocessorDefinitions)' == ''" + >%(QtMoc.UndefinePreprocessorDefinitions)</Undefine> + <Undefine Condition="'%(QtMoc.UndefinePreprocessorDefinitions)' != ''" + >@(ClCompile-> + WithMetadataValue('Identity','DefaultClCompile')-> + '%(UndefinePreprocessorDefinitions)')</Undefine> + </QtMoc> + </ItemGroup> + + <ItemGroup Condition="'$(override_cl_compile)' == 'false'"> + <QtMoc> + <!-- 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("'%(QtMoc.{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> + <Define + >@(ClCompile-> + WithMetadataValue('Identity','DefaultClCompile')-> + '%(PreprocessorDefinitions)')</Define> + <Undefine + >@(ClCompile-> + WithMetadataValue('Identity','DefaultClCompile')-> + '%(UndefinePreprocessorDefinitions)')</Undefine> + </QtMoc> + </ItemGroup> + + <!-- + /////////////////////////////////////////////////////////////////////////////////////////////// + // Clean-up + // --> + <PropertyGroup> + <override_cl_compile/> + </PropertyGroup> + </Target> +</Project> |