From ca47896204482bf4a6979e3838bf7f09f61cebeb Mon Sep 17 00:00:00 2001 From: giy <giy@omp-system.ru> Date: Fri, 02 Sep 2022 14:16:56 +0300 Subject: [PATCH] Обновление до версии 2.9.0 --- QtMSBuild/QtMsBuild/qt_private.props | 116 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 97 insertions(+), 19 deletions(-) diff --git a/QtMSBuild/QtMsBuild/qt_private.props b/QtMSBuild/QtMsBuild/qt_private.props index c1303e0..eb76f1f 100644 --- a/QtMSBuild/QtMsBuild/qt_private.props +++ b/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('
',''))</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('
', ';') + .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:"$(IntDir)\qt.natvis" %(AdditionalOptions)</AdditionalOptions> </Link> + </ItemDefinitionGroup> <!-- -- Gitblit v1.9.1