Skip to content

Commit

Permalink
Update build config
Browse files Browse the repository at this point in the history
  • Loading branch information
AlanoSong committed May 9, 2024
1 parent ef1e2d9 commit e7475d1
Show file tree
Hide file tree
Showing 6 changed files with 1,339 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/msbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# separate terms of service, privacy policy, and support
# documentation.

name: MSBuild
name: QtReleaseBuild

on:
push:
Expand Down
59 changes: 59 additions & 0 deletions QtMsBuild/Qt.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/****************************************************************************
**
** Copyright (C) 2020 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$
**
****************************************************************************/
-->
<!--
///////////////////////////////////////////////////////////////////////////////////////////////////
// Item type definition and default values
// -->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
/////////////////////////////////////////////////////////////////////////////////////////////////
// Import private Qt property definitions
// -->
<ImportGroup Label="Qt">
<Import Project="$(MSBuildThisFileDirectory)\qt_private.props"/>
</ImportGroup>
<!--
/////////////////////////////////////////////////////////////////////////////////////////////////
// User-defined settings
// -->
<PropertyGroup Label="UserMacros">
<!-- Placeholder for user macros written by VS Property Manager -->
</PropertyGroup>
<PropertyGroup>
<!-- Placeholder for properties written by VS Property Manager -->
</PropertyGroup>
<ItemDefinitionGroup>
<!-- Placeholder for default metadata written by VS Property Manager -->
</ItemDefinitionGroup>
<ItemGroup>
<!-- Placeholder for items written by VS Property Manager -->
</ItemGroup>
</Project>
67 changes: 67 additions & 0 deletions QtMsBuild/qt.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/***************************************************************************************************
Copyright (C) 2024 The Qt Company Ltd.
SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
***************************************************************************************************/
-->

<!--
///////////////////////////////////////////////////////////////////////////////////////////////////
// Qt/MSBuild
// -->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
/////////////////////////////////////////////////////////////////////////////////////////////////
// Fail-safe import of private definitions
// -->
<Import
Condition="'$(QtPrivateLoaded)' != 'true'"
Project="$(MSBuildThisFileDirectory)\qt_private.props"/>

<!--
/////////////////////////////////////////////////////////////////////////////////////////////////
// Defaults for project version constants
// -->
<PropertyGroup>
<QtVsProjectVersion
Condition="'$(QtVsProjectVersion)' == ''"
>0</QtVsProjectVersion>
<QtVsProjectMinVersion_Settings
Condition="'$(QtVsProjectMinVersion_Settings)' == ''"
>0</QtVsProjectMinVersion_Settings>
<QtVsProjectMinVersion_ClProperties
Condition="'$(QtVsProjectMinVersion_ClProperties)' == ''"
>0</QtVsProjectMinVersion_ClProperties>
</PropertyGroup>

<!--
/////////////////////////////////////////////////////////////////////////////////////////////////
// Defaults for CriticalSection task
// -->
<PropertyGroup>
<QtCriticalSectionTimeout Condition="'$(QtCriticalSectionTimeout)' == ''"
>10</QtCriticalSectionTimeout>
<QtCriticalSectionFixedTimeout Condition="'$(QtCriticalSectionFixedTimeout)' == ''"
>false</QtCriticalSectionFixedTimeout>
<QtCriticalSectionDelay Condition="'$(QtCriticalSectionDelay)' == ''"
>0</QtCriticalSectionDelay>
</PropertyGroup>

<!--
/////////////////////////////////////////////////////////////////////////////////////////////////
// Qt Common Targets
// -->
<Import Project="qt_globals.targets"/>
<Import Project="qt_settings.targets"/>
<Import Project="qt_tasks.targets"/>
<Import Project="qt_vars.targets"/>

<!--
/////////////////////////////////////////////////////////////////////////////////////////////////
// Import subfolder targets
// -->
<Import
Project="$(QtMsBuildTargets)"/>

</Project>
155 changes: 155 additions & 0 deletions QtMsBuild/qt_defaults.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/***************************************************************************************************
Copyright (C) 2024 The Qt Company Ltd.
SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
***************************************************************************************************/
-->

<!--
///////////////////////////////////////////////////////////////////////////////////////////////////
// Default values of Qt settings
//
// Preceding evaluation chain:
// * Project global properties, incl. $(Keyword), $(WindowsTargetPlatformVersion), $(QtMsBuild)
// * Microsoft.Cpp.Default.props
// * Configuration properties, incl. $(ConfigurationType), $(PlatformToolset)
//
// -->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<QtDefaultsLoaded>true</QtDefaultsLoaded>
</PropertyGroup>

<!-- // Qt VS Project Format Version -->
<PropertyGroup>
<QtVsProjectVersion>0</QtVsProjectVersion>
<QtVsProjectMinVersion_Settings>300</QtVsProjectMinVersion_Settings>
<QtVsProjectMinVersion_ClProperties>300</QtVsProjectMinVersion_ClProperties>
</PropertyGroup>
<PropertyGroup Condition="'$(Keyword)' != ''">
<QtVsProjectVersion Condition="'$(Keyword)' == 'Qt4VSv1.0'">200</QtVsProjectVersion>
<QtVsProjectVersion Condition="$(Keyword.StartsWith('QtVS_v'))"
>$([System.Convert]::ToInt32($(Keyword.Substring(6))))</QtVsProjectVersion>
<QtVsProjectSettings Condition="$(QtVsProjectVersion) &gt;= $(QtVsProjectMinVersion_Settings)"
>true</QtVsProjectSettings>
<QtVsProjectSettings Condition="$(QtVsProjectVersion) &lt; $(QtVsProjectMinVersion_Settings)"
>false</QtVsProjectSettings>
<QtVsProjectClProperties
Condition="$(QtVsProjectVersion) &gt;= $(QtVsProjectMinVersion_ClProperties)"
>true</QtVsProjectClProperties>
<QtVsProjectClProperties
Condition="$(QtVsProjectVersion) &lt; $(QtVsProjectMinVersion_ClProperties)"
>false</QtVsProjectClProperties>
</PropertyGroup>

<PropertyGroup>
<!--// Path of Qt binary files -->
<QtPathBinaries>bin</QtPathBinaries>
<QtPathLibraryExecutables>bin</QtPathLibraryExecutables>

<!--// Run Qt tools during design-time build -->
<QtToolsDesignTime>true</QtToolsDesignTime>

<!--// qmake template -->
<QtQMakeTemplate>vcapp</QtQMakeTemplate>

<!--// Extract Qt variables from qmake-generated Makefile
// Syntax: < var_name > [ = [ makefile_name ] / < pattern > / < replace > / ] -->
<QMake_Makefile>
DEFINES=/-D([^\s=]+(=(\x22(\\\\|\\\x22|[^\x22])*\x22|\S+))?)/$1/;
INCLUDEPATH=INCPATH/-(?:iquote|isystem|idirafter|I)\s*(\x22[^\x22]+\x22|[^\s]+)/$1/;
LIBS=/(?:(?:\/LIBPATH:|-L)(?:\x22[^\x22]+\x22|[^\s]+))|(\x22[^\x22]+\x22|[^\s]+)/$1/;
LIBPATH=LIBS/(?:\/LIBPATH:|-L)(\x22[^\x22]+\x22|[^\s]+)/$1/;
</QMake_Makefile>

<!--// Extract Qt variables from qmake-generated .vcxproj file
// Syntax: < var_name > = < xpath_to_value > -->
<QMake_MSBuild>
DEFINES=/Project/ItemDefinitionGroup/ClCompile/PreprocessorDefinitions;
INCLUDEPATH=/Project/ItemDefinitionGroup/ClCompile/AdditionalIncludeDirectories;
STDCPP=/Project/ItemDefinitionGroup/ClCompile/LanguageStandard;
RUNTIME=/Project/ItemDefinitionGroup/ClCompile/RuntimeLibrary;
CL_OPTIONS=/Project/ItemDefinitionGroup/ClCompile/AdditionalOptions;
LIBS=/Project/ItemDefinitionGroup/Link/AdditionalDependencies;
LINK_OPTIONS=/Project/ItemDefinitionGroup/Link/AdditionalOptions;
</QMake_MSBuild>

<!--// Default Qt version -->
<QtVersionsRegKey Condition="'$(QtVersionsRegKey)' == ''"
>HKEY_CURRENT_USER\Software\QtProject\QtVsTools\Versions</QtVersionsRegKey>
<DefaultQtVersion Condition="'$(DefaultQtVersion)' == ''"
>$([MSBuild]::GetRegistryValue('$(QtVersionsRegKey)','DefaultQtVersion'))</DefaultQtVersion>

<!--// Qt build config -->
<QtBuildConfig Condition="'$(Configuration)' == 'Debug'">debug</QtBuildConfig>
<QtBuildConfig Condition="'$(Configuration)' != 'Debug'">release</QtBuildConfig>

<!--// Qt Plugin default-->
<QtPlugin>false</QtPlugin>

<!--// MOC macro names defaults -->
<MocMacroNames>Q_OBJECT;Q_GADGET;Q_NAMESPACE;Q_NAMESPACE_EXPORT</MocMacroNames>

<!--// QML debug disabled by default -->
<QtQMLDebugEnable>false</QtQMLDebugEnable>

<!--// Default Qt settings -->
<QtInstall Condition="'$(QtInstall)' == ''">$(DefaultQtVersion)</QtInstall>
<QtModules Condition="'$(QtModules)' == ''">core</QtModules>
</PropertyGroup>

<!--// Default late bindings -->
<ItemGroup>
<Qt Include="Qt">
<IntDir>$(IntDir)</IntDir>
<OutDir>$(OutDir)</OutDir>
</Qt>
<QtLateBindings Include="IntDir" />
<QtLateBindings Include="OutDir" />
<QtLateBindings Include="QtInstall" />
<QtLateBindings Include="QtModules" />
<QtLateBindings Include="QtPlugin" />
<QtLateBindings Include="QtBuildConfig" />
<QtLateBindings Include="QtToolsDesignTime" />
<QtLateBindings Include="QtPathBinaries" />
<QtLateBindings Include="QtPathLibraryExecutables" />
<QtLateBindings Include="QtHeaderSearchPath" />
<QtLateBindings Include="QtLibrarySearchPath" />
<QtLateBindings Include="QtQMakeTemplate" />
<QtLateBindings Include="QtVars" />
<QtLateBindings Include="QMakeExtraArgs" />
<QtLateBindings Include="QMakeCodeLines" />
<QtLateBindings Include="QtQMLDebugEnable" />
<QtLateBindings Include="Qt_CL_OPTIONS_" />
<QtLateBindings Include="QtExcludedOptions" />
<QtLateBindings Include="QtOptionsBuildLog" />
<QtLateBindings Include="QtLinkNatvisFile" />
<QtLateBindings Include="QtInstallDir" />
<QtLateBindings Include="QtToolsPath" />
<QtLateBindings Include="QtDllPath" />
</ItemGroup>
<PropertyGroup>
<QtLateBindings Condition="'$(QtLateBindings)' == ''">@(QtLateBindings)</QtLateBindings>
</PropertyGroup>

<!--
/////////////////////////////////////////////////////////////////////////////////////////////////
// Read subfolder dependencies (qt_import.props)
// -->
<PropertyGroup>
<SubFolder>$([System.IO.Directory]::GetDirectories('$(MSBuildThisFileDirectory)'))</SubFolder>
<SubFolderImports Condition="'$(SubFolder)' != ''"
>
$([System.String]::Join(
'\qt_import.props;',
$(SubFolder.Split(';'))))\qt_import.props
</SubFolderImports>
<QtImports>$(SubFolderImports.Split(';'))</QtImports>
<SubFolder/>
<SubFolderImports/>
</PropertyGroup>
<Import
Project="$(QtImports)"/>

</Project>
Loading

0 comments on commit e7475d1

Please sign in to comment.