Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qt/5.15.2 #1759

Merged
merged 62 commits into from
Jan 27, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
bd4cd89
qt/5.15.0
ericLemanissier May 27, 2020
a20703a
disable glib harfbuzz gui and widgets(on linux)
ericLemanissier May 27, 2020
6e78c11
fixup references of packages (not yet on CCI)
ericLemanissier May 28, 2020
fa16fd0
move stuff to bin subfolder
ericLemanissier May 28, 2020
773e22e
remove useless cmake code
ericLemanissier May 28, 2020
756e0d1
disable linux until required packages are on CCI
ericLemanissier Jun 4, 2020
9aeaec5
remove pdb files
ericLemanissier Jun 4, 2020
7fb2b46
disable old apple compilers
ericLemanissier Jun 5, 2020
a2883b2
create qt.conf after make install
ericLemanissier Jun 9, 2020
2401bd1
require opengl/system if necessary
ericLemanissier Jun 11, 2020
94c9fe9
enable linux
ericLemanissier Jun 11, 2020
e6b28eb
disable gcc and clang < 5.0
ericLemanissier Jun 11, 2020
0265199
qt: Update Conan conventions
bincrafters-user Jun 11, 2020
72895cf
enable xorg requirement on linux
ericLemanissier Jun 15, 2020
5200fdb
fix pkg_config search path
ericLemanissier Jun 15, 2020
1779afb
Apply suggestions from code review
ericLemanissier Jun 19, 2020
fcb818d
Update recipes/qt/all/conanfile.py
ericLemanissier Jun 19, 2020
eeedec5
removed licenses from unused modules
ericLemanissier Jun 16, 2020
3b16278
fix multiconfiguration hash
ericLemanissier Jun 16, 2020
385ab00
Update: harfbuzz dependency
ericLemanissier Jun 16, 2020
843a1dd
remove obsolete env variables
ericLemanissier Jun 22, 2020
8d2d5aa
upgrade harfbuzz and glib
ericLemanissier Jul 3, 2020
3d5c24a
Apply suggestions from code review
ericLemanissier Jul 9, 2020
26064b8
fix test recipe if gui is disabled
ericLemanissier Jul 14, 2020
94dfe33
linux: require xkbcommon
ericLemanissier Jul 23, 2020
e4a0cd7
adapt to conan 1.28.0
ericLemanissier Aug 3, 2020
0cf64d2
remove icu option on non-linux platforms
ericLemanissier Aug 12, 2020
ddb2337
remove mysql option when not supported
ericLemanissier Aug 12, 2020
137bec0
qt: Update Conan conventions
bincrafters-user Aug 12, 2020
19d8640
qt 5.15.1
ericLemanissier Sep 11, 2020
3933189
quote paths
ericLemanissier Sep 11, 2020
d3c777f
use os-dependant default for opengl
ericLemanissier Sep 11, 2020
f6297be
remove android-g++ mkspec
ericLemanissier Sep 11, 2020
270be82
don't force options values
ericLemanissier Sep 11, 2020
c31a745
qt: Update Conan conventions
bincrafters-user Sep 11, 2020
ebdca36
static by default
ericLemanissier Sep 11, 2020
0c608bb
raise exception if shared and static runtime
ericLemanissier Sep 25, 2020
ab748d9
del options in config_options
ericLemanissier Sep 25, 2020
38ad950
qt: Update Conan conventions
bincrafters-user Sep 25, 2020
5ddbeb2
Apply suggestions from code review
ericLemanissier Oct 18, 2020
8d9729a
qt: Update Conan conventions
bincrafters-user Oct 18, 2020
b949026
remove the "auto" options trick
ericLemanissier Oct 28, 2020
f775091
qt: Update Conan conventions
bincrafters-user Oct 28, 2020
b1dd50f
fix macos
ericLemanissier Nov 24, 2020
a33aa3a
add support for libjpeg-turbo
ericLemanissier Nov 24, 2020
316b05f
populate cpp_info
ericLemanissier Nov 24, 2020
ecdff9c
qt 5.15.2
ericLemanissier Nov 24, 2020
f01c7aa
qt: Update Conan conventions
bincrafters-user Nov 24, 2020
9a88367
upgrade xkbcommon
ericLemanissier Nov 25, 2020
1836a4c
Merge branch 'master' into qt
ericLemanissier Dec 6, 2020
0d6c9d7
move to 5.x.x and export modules by version
ericLemanissier Dec 7, 2020
354c8dd
add mirrors
ericLemanissier Jan 22, 2021
9ded6ac
qt: Update Conan conventions
bincrafters-user Jan 22, 2021
8fa7957
remove unused patch files
ericLemanissier Jan 27, 2021
4bd44ad
fixup tools.Version usage
ericLemanissier Jan 27, 2021
e57d6fb
don't dlete settings.os.version on macos
ericLemanissier Jan 27, 2021
210c954
smarter patch application
ericLemanissier Jan 27, 2021
463468d
add winrt on msvc 2019
ericLemanissier Jan 27, 2021
87ff600
fixup ConanInvalidConfiguration
ericLemanissier Jan 27, 2021
1c9259b
use get_safe
ericLemanissier Jan 27, 2021
b8ee11f
simplify remove_files_by_mask
ericLemanissier Jan 27, 2021
0c10c0c
formatting
ericLemanissier Jan 27, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions recipes/qt/5.x.x/conandata.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
sources:
"5.15.2":
url:
- "https://download.qt.io/archive/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz"
- "https://qt-mirror.dannhauer.de/archive/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz"
- "https://www.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz"
- "https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz"
sha256: "3a530d1b243b5dec00bc54937455471aaa3e56849d2593edb8ded07228202240"
patches:
"5.15.2":
- patch_file: "patches/aa2a39dea5.diff"
ericLemanissier marked this conversation as resolved.
Show resolved Hide resolved
base_path: "qt5/qtbase"
- patch_file: "patches/c72097e.diff"
base_path: "qt5/qtwebengine"
710 changes: 710 additions & 0 deletions recipes/qt/5.x.x/conanfile.py

Large diffs are not rendered by default.

29 changes: 29 additions & 0 deletions recipes/qt/5.x.x/patches/aa2a39dea5.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
From aa2a39dea5918c63045310b0d2a7e34ce9934e0c Mon Sep 17 00:00:00 2001
From: Eric Lemanissier <[email protected]>
Date: Tue, 26 Nov 2019 12:47:47 +0100
Subject: [PATCH] add inline source detection to glib

this allows to use static version of glib (pkg-config only works with shared libraries)

Change-Id: If9b0054985b87b8da43269425b32c2e4ffb65f5a
---
src/corelib/configure.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/corelib/configure.json b/src/corelib/configure.json
index ae360239c6..998687dc4e 100644
--- a/src/corelib/configure.json
+++ b/src/corelib/configure.json
@@ -45,7 +45,8 @@
},
"headers": "glib.h",
"sources": [
- { "type": "pkgConfig", "args": "glib-2.0 gthread-2.0" }
+ { "type": "pkgConfig", "args": "glib-2.0 gthread-2.0" },
+ "-lgthread-2.0 -lglib-2.0"
]
},
"posix_iconv": {
--
2.23.0.windows.1

42 changes: 42 additions & 0 deletions recipes/qt/5.x.x/patches/c72097e.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
From c72097e8790553771daf3231124c3fbe1a438379 Mon Sep 17 00:00:00 2001
From: Samuli Piippo <[email protected]>
Date: Thu, 30 Mar 2017 11:37:24 +0300
Subject: [PATCH] chromium: workaround for too long .rps file name

Ninja may fail when the build directory is too long:

ninja: error: WriteFile(__third_party_WebKit_Source_bindings_modules_\
interfaces_info_individual_modules__home_qt_work_build_build-nitrogen\
6x_tmp_work_cortexa9hf-neon-mx6qdl-poky-linux-gnueabi_qtwebengine_5.9\
.0_gitAUTOINC_29afdb0a34_049134677a-r0_build_src_toolchain_target__ru\
le.rsp): Unable to create file. File name too long

Task-number: QTBUG-59769
Change-Id: I73c5e64ae5174412be2a675e35b0b6047f2bf4c1
---
src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc b/src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc
index a5bc6cd..5cefbfe 100644
--- a/src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc
+++ b/src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc
@@ -119,9 +119,18 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition() {
// strictly necessary for regular one-shot actions, but it's easier to
// just always define unique_name.
std::string rspfile = custom_rule_name;
+
+ //quick workaround if filename length > 255 - ".rsp", just cut the dirs starting from the end
+ //please note ".$unique_name" is not used at the moment
+ int pos = 0;
+ std::string delimiter("_");
+ while (rspfile.length() > 250 && (pos = rspfile.find_last_of(delimiter)) != std::string::npos)
+ rspfile = rspfile.substr(0,pos);
+
if (!target_->sources().empty())
rspfile += ".$unique_name";
rspfile += ".rsp";
+
out_ << " rspfile = " << rspfile << std::endl;

// Response file contents.
284 changes: 284 additions & 0 deletions recipes/qt/5.x.x/qtmodules5.15.2.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,284 @@
[submodule "qtbase"]
path = qtbase
url = ../qtbase.git
status = essential
[submodule "qtsvg"]
depends = qtbase
path = qtsvg
url = ../qtsvg.git
status = addon
[submodule "qtdeclarative"]
depends = qtbase
recommends = qtsvg
path = qtdeclarative
url = ../qtdeclarative.git
status = essential
[submodule "qtactiveqt"]
depends = qtbase
path = qtactiveqt
url = ../qtactiveqt.git
status = addon
[submodule "qtscript"]
depends = qtbase
recommends = qttools
path = qtscript
url = ../qtscript.git
status = deprecated
[submodule "qtmultimedia"]
depends = qtbase
recommends = qtdeclarative
path = qtmultimedia
url = ../qtmultimedia.git
status = essential
[submodule "qttools"]
depends = qtbase
recommends = qtdeclarative qtactiveqt
path = qttools
url = ../qttools.git
status = essential
[submodule "qtxmlpatterns"]
depends = qtbase
recommends = qtdeclarative
path = qtxmlpatterns
url = ../qtxmlpatterns.git
status = deprecated
[submodule "qttranslations"]
depends = qttools
path = qttranslations
url = ../qttranslations.git
status = essential
priority = 30
[submodule "qtdoc"]
depends = qtdeclarative qttools
recommends = qtmultimedia qtquickcontrols qtquickcontrols2
path = qtdoc
url = ../qtdoc.git
status = essential
priority = 40
[submodule "qtrepotools"]
path = qtrepotools
url = ../qtrepotools.git
branch = master
status = essential
project = -
[submodule "qtqa"]
depends = qtbase
path = qtqa
url = ../qtqa.git
branch = master
status = essential
priority = 50
[submodule "qtlocation"]
depends = qtbase
recommends = qtdeclarative qtquickcontrols qtquickcontrols2 qtserialport
path = qtlocation
url = ../qtlocation.git
status = addon
[submodule "qtsensors"]
depends = qtbase
recommends = qtdeclarative
path = qtsensors
url = ../qtsensors.git
status = addon
[submodule "qtsystems"]
depends = qtbase
recommends = qtdeclarative
path = qtsystems
url = ../qtsystems.git
branch = dev
status = ignore
[submodule "qtfeedback"]
depends = qtdeclarative
recommends = qtmultimedia
path = qtfeedback
url = ../qtfeedback.git
branch = master
status = ignore
[submodule "qtdocgallery"]
depends = qtdeclarative
path = qtdocgallery
url = ../qtdocgallery.git
branch = master
status = ignore
[submodule "qtpim"]
depends = qtdeclarative
path = qtpim
url = ../qtpim.git
branch = dev
status = ignore
[submodule "qtconnectivity"]
depends = qtbase
recommends = qtdeclarative qtandroidextras
path = qtconnectivity
url = ../qtconnectivity.git
status = addon
[submodule "qtwayland"]
depends = qtbase
recommends = qtdeclarative
path = qtwayland
url = ../qtwayland.git
status = addon
[submodule "qt3d"]
depends = qtbase
recommends = qtdeclarative qtimageformats qtgamepad
path = qt3d
url = ../qt3d.git
status = addon
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
url = ../qtimageformats.git
status = addon
[submodule "qtgraphicaleffects"]
depends = qtdeclarative
path = qtgraphicaleffects
url = ../qtgraphicaleffects.git
status = essential
[submodule "qtquickcontrols"]
depends = qtdeclarative
recommends = qtgraphicaleffects
path = qtquickcontrols
url = ../qtquickcontrols.git
status = addon
[submodule "qtserialbus"]
depends = qtbase
recommends = qtserialport
path = qtserialbus
url = ../qtserialbus.git
status = addon
[submodule "qtserialport"]
depends = qtbase
path = qtserialport
url = ../qtserialport.git
status = addon
[submodule "qtx11extras"]
depends = qtbase
path = qtx11extras
url = ../qtx11extras.git
status = addon
[submodule "qtmacextras"]
depends = qtbase
path = qtmacextras
url = ../qtmacextras.git
status = addon
[submodule "qtwinextras"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtwinextras
url = ../qtwinextras.git
status = addon
[submodule "qtandroidextras"]
depends = qtbase
path = qtandroidextras
url = ../qtandroidextras.git
status = addon
[submodule "qtwebsockets"]
depends = qtbase
recommends = qtdeclarative
path = qtwebsockets
url = ../qtwebsockets.git
status = addon
[submodule "qtwebchannel"]
depends = qtbase
recommends = qtdeclarative qtwebsockets
path = qtwebchannel
url = ../qtwebchannel.git
status = addon
[submodule "qtwebengine"]
depends = qtdeclarative
recommends = qtquickcontrols qtquickcontrols2 qtlocation qtwebchannel qttools
path = qtwebengine
url = ../qtwebengine.git
status = addon
priority = 10
[submodule "qtcanvas3d"]
depends = qtdeclarative
path = qtcanvas3d
url = ../qtcanvas3d.git
branch = dev
status = ignore
[submodule "qtwebview"]
depends = qtdeclarative
recommends = qtwebengine
path = qtwebview
url = ../qtwebview.git
status = addon
[submodule "qtquickcontrols2"]
depends = qtgraphicaleffects
recommends = qtimageformats
path = qtquickcontrols2
url = ../qtquickcontrols2.git
status = essential
[submodule "qtpurchasing"]
depends = qtbase
recommends = qtdeclarative qtandroidextras
path = qtpurchasing
url = ../qtpurchasing.git
status = addon
[submodule "qtcharts"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtcharts
url = ../qtcharts.git
status = addon
[submodule "qtdatavis3d"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtdatavis3d
url = ../qtdatavis3d.git
status = addon
[submodule "qtvirtualkeyboard"]
depends = qtbase qtdeclarative qtsvg
recommends = qtmultimedia qtquickcontrols
path = qtvirtualkeyboard
url = ../qtvirtualkeyboard.git
status = addon
[submodule "qtgamepad"]
depends = qtbase
recommends = qtdeclarative
path = qtgamepad
url = ../qtgamepad.git
status = addon
[submodule "qtscxml"]
depends = qtbase qtdeclarative
path = qtscxml
url = ../qtscxml.git
status = addon
[submodule "qtspeech"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtspeech
url = ../qtspeech.git
status = addon
[submodule "qtnetworkauth"]
depends = qtbase
path = qtnetworkauth
url = ../qtnetworkauth.git
status = addon
[submodule "qtremoteobjects"]
depends = qtbase
recommends = qtdeclarative
path = qtremoteobjects
url = ../qtremoteobjects.git
status = addon
[submodule "qtwebglplugin"]
depends = qtbase qtwebsockets
recommends = qtdeclarative
path = qtwebglplugin
url = ../qtwebglplugin.git
status = addon
[submodule "qtlottie"]
depends = qtbase qtdeclarative
path = qtlottie
url = ../qtlottie.git
status = addon
[submodule "qtquicktimeline"]
depends = qtbase qtdeclarative
path = qtquicktimeline
url = ../qtquicktimeline
status = addon
[submodule "qtquick3d"]
depends = qtbase qtdeclarative
path = qtquick3d
url = ../qtquick3d.git
status = addon
18 changes: 18 additions & 0 deletions recipes/qt/5.x.x/test_package/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
cmake_minimum_required(VERSION 3.1.0)

set(CMAKE_CXX_STANDARD 11)

project(test_package)

include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_set_vs_runtime()
conan_set_libcxx()
conan_output_dirs_setup()
Comment on lines +8 to +10
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No basic setup?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't need to, because the test is using cmake_find_package_multi generator


find_package(qt REQUIRED CONFIG)

add_executable(${PROJECT_NAME} test_package.cpp greeter.h moc_greeter.cpp)
# Must compile with "-fPIC" since Qt was built with -reduce-relocations.
target_compile_options(${PROJECT_NAME} PRIVATE -fPIC)

target_link_libraries(${PROJECT_NAME} qt::qt)
Loading