Наша сборка Qt VS Tools
giy
2022-09-02 ca47896204482bf4a6979e3838bf7f09f61cebeb
QtMSBuild/QtMsBuild/qt_private.props
@@ -57,6 +57,18 @@
  <!--
  /////////////////////////////////////////////////////////////////////////////////////////////////
  // Check if design-time build
  // -->
  <PropertyGroup>
    <QtDesignTimeBuild>false</QtDesignTimeBuild>
    <QtDesignTimeBuild
      Condition="'$(DesignTimeBuild)' == 'true'
              OR '$(QtVSToolsBuild)'  == 'true'"
      >true</QtDesignTimeBuild>
  </PropertyGroup>
  <!--
  /////////////////////////////////////////////////////////////////////////////////////////////////
  // Setup Qt installation path
  // -->
  <PropertyGroup Condition="'$(QtVsProjectSettings)' == 'true'">
@@ -112,21 +124,29 @@
      >$([System.String]::Copy($([System.IO.File]::ReadAllText('$(QtVarsIndexPathDesignTime)'))).Replace('&#xD;&#xA;',''))</QtVarsDesignTime>
  </PropertyGroup>
  <!--// Import Qt variables (full build) -->
  <Import
    Condition="'$(DesignTimeBuild)' != 'true' AND Exists('$(QtVarsFilePath)')"
    Project="$(QtVarsFilePath)"/>
  <PropertyGroup>
    <!--// Path to Qt variables .props: full build -->
    <QtVarsImportPath
      Condition="'$(QtDesignTimeBuild)' != 'true'
        AND Exists('$(QtVarsFilePath)')"
      >$(QtVarsFilePath)</QtVarsImportPath>
  <!--// Import Qt variables (design-time build) -->
  <Import
    Condition="'$(DesignTimeBuild)' == 'true' AND Exists('$(QtVarsDesignTime)')"
    Project="$(QtVarsDesignTime)"/>
    <!--// Path to Qt variables .props: design-time build -->
    <QtVarsImportPath
      Condition="'$(QtDesignTimeBuild)' == 'true'
        AND Exists('$(QtVarsDesignTime)')"
      >$(QtVarsDesignTime)</QtVarsImportPath>
  <!--// Import Qt variables (fall-back) -->
  <Import
    Condition=
"'$(DesignTimeBuild)' == 'true' AND !Exists('$(QtVarsDesignTime)') AND Exists('$(QtVarsFilePath)')"
    Project="$(QtVarsFilePath)"/>
    <!--// Path to Qt variables .props: fall-back -->
    <QtVarsImportPath
      Condition="'$(QtDesignTimeBuild)' == 'true'
        AND !Exists('$(QtVarsDesignTime)')
        AND  Exists('$(QtVarsFilePath)')"
      >$(QtVarsFilePath)</QtVarsImportPath>
  </PropertyGroup>
  <!--// Import Qt vars property file -->
  <Import Condition="Exists('$(QtVarsImportPath)')" Project="$(QtVarsImportPath)"/>
  <!--
  /////////////////////////////////////////////////////////////////////////////////////////////////
@@ -175,6 +195,61 @@
  <!--
  /////////////////////////////////////////////////////////////////////////////////////////////////
  // Normalize QtVars (incl. backup)
  // -->
  <PropertyGroup>
    <QtVars
      Condition="'$(QtVars)' !=''"
      >$(QtVars
        .Replace(' ', '')
        .Replace('%0a', '')
        .Replace('%0d', '')
        .Trim(';'))</QtVars>
    <QtBkup_QtVars
      Condition="'$(QtBkup_QtVars)' !=''"
      >$(QtBkup_QtVars
        .Replace(' ', '')
        .Replace('%0a', '')
        .Replace('%0d', '')
        .Trim(';'))</QtBkup_QtVars>
  </PropertyGroup>
  <!--
  /////////////////////////////////////////////////////////////////////////////////////////////////
  // Figure out depending on the user settings if we need to link the .natvis file into the PDB
  // file. Reads the content of qconfig.pri to find Qt's namespace if set. Predefines the path to
  // the .natvis file used during link which corresponds to the final output generated by the
  // QtNatvis target.
  // Evaluation order: first look at the project settings, if empty take from the global settings.
  // -->
  <PropertyGroup>
    <LinkNatvisFile>$(QtLinkNatvisFile)</LinkNatvisFile>
  </PropertyGroup>
  <PropertyGroup Condition="'$(QtLinkNatvisFile)' == ''">
    <LinkNatvisRegValue>$([MSBuild]::GetRegistryValue(
      'HKEY_CURRENT_USER\SOFTWARE\Digia\Qt5VS2017','LinkNatvis'
      ))</LinkNatvisRegValue>
    <LinkNatvisFile>true</LinkNatvisFile>
    <LinkNatvisFile Condition="'$(LinkNatvisRegValue)' == '0'">false</LinkNatvisFile>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)' == 'Debug'
                            AND '$(LinkNatvisFile)' == 'true' AND '$(QtInstallDir)' != ''">
    <QConfigPriPath>$([System.IO.Path]::Combine('$(QtInstallDir)',
        'mkspecs', 'qconfig.pri'
      ))</QConfigPriPath>
    <QConfigPriContent>$([MSBuild]::Unescape(
      $([System.IO.File]::ReadAllText('$(QConfigPriPath)')
        .Replace('&#xD;&#xA;', ';')
        .Replace(' =', '=')
        .Replace('= ', '='))
      ))</QConfigPriContent>
    <QtNamespace>$([System.Text.RegularExpressions.Regex]::Match($(QConfigPriContent),
        'QT_NAMESPACE=([a-zA-Z0-9]+)').get_Groups().get_Item(1)
      )</QtNamespace>
  </PropertyGroup>
  <!--
  /////////////////////////////////////////////////////////////////////////////////////////////////
  // Default item metadata
  // -->
  <ItemDefinitionGroup>
@@ -186,24 +261,27 @@
      <PreprocessorDefinitions Condition="'$(QtQMLDebugEnable)' == 'true'"
        >QT_QML_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <AdditionalIncludeDirectories Condition="'$(Qt_INCLUDEPATH_)' != ''"
        >$(Qt_INCLUDEPATH_);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
        >%(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_)</AdditionalIncludeDirectories>
      <LanguageStandard Condition="'$(Qt_STDCPP_)' != ''"
        >$(Qt_STDCPP_)</LanguageStandard>
      <AdditionalOptions Condition="'$(Qt_CL_OPTIONS_)' != ''"
        >$(Qt_CL_OPTIONS_) %(AdditionalOptions)</AdditionalOptions>
      <RuntimeLibrary Condition="'$(Qt_RUNTIME_)' != ''"
        >$(Qt_RUNTIME_)</RuntimeLibrary>
    </ClCompile>
    <!--// Linker (.obj files) -->
    <Link>
      <AdditionalDependencies Condition="'$(Qt_LIBS_)' != ''"
        >$(Qt_LIBS_);%(AdditionalDependencies)</AdditionalDependencies>
        >%(AdditionalDependencies);$(Qt_LIBS_)</AdditionalDependencies>
      <AdditionalLibraryDirectories Condition="'$(Qt_LIBPATH_)' != ''"
        >$(Qt_LIBPATH_);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
        >%(AdditionalLibraryDirectories);$(Qt_LIBPATH_)</AdditionalLibraryDirectories>
      <SharedLibrarySearchPath Condition="'$(Qt_LIBPATH_)' != ''"
        >$(Qt_LIBPATH_);%(SharedLibrarySearchPath)</SharedLibrarySearchPath>
        >%(SharedLibrarySearchPath);$(Qt_LIBPATH_)</SharedLibrarySearchPath>
      <AdditionalOptions Condition="'$(Qt_LINK_OPTIONS_)' != ''"
        >$(Qt_LINK_OPTIONS_) %(AdditionalOptions)</AdditionalOptions>
      <AdditionalOptions Condition="'$(Configuration)' == 'Debug' AND '$(LinkNatvisFile)' == 'true'"
        >/NATVIS:&quot;$(IntDir)\qt.natvis&quot; %(AdditionalOptions)</AdditionalOptions>
    </Link>
  </ItemDefinitionGroup>
  <!--