Commit f419981f authored by Cédric Traizet's avatar Cédric Traizet
Browse files

Merge branch 'update-qt-515' into 'develop'

Update to qt 5.15

Closes #2219

See merge request !852
parents 5c096f44 85435371
Pipeline #8574 passed with stages
in 102 minutes and 23 seconds
......@@ -160,12 +160,32 @@ ubuntu-xdk-build-doc:
- mv build/CookBook-*-html.tar.gz . || true
- mv build/Documentation/Cookbook/latex/CookBook-*.pdf . || true
- mv build/Documentation/Doxygen/OTB-Doxygen-*.tar.bz2 . || true
- ctest -V -S CI/main_packages.cmake -DIMAGE_NAME:string=ubuntu-18.04-llvm-xdk
- ctest -V -S CI/main_packages.cmake -DIMAGE_NAME:string=ubuntu-18.04-llvm-xdk -DNAME_SUFFIX:string=-glibc-2.27
- mv build_packages/OTB-*.run . || true
needs:
- job: ubuntu-xdk-prepare
artifacts: true
## CentOS superbuild
centos-xdk-prepare:
extends: .common-prepare
image: $BUILD_IMAGE_REGISTRY/otb-centos-superbuild-base:7.6.1810
script:
- ctest -VV -S CI/prepare_superbuild.cmake -DIMAGE_NAME:string=centos-7.6.1810-gcc
centos-xdk-build:
extends: .common-build
image: $BUILD_IMAGE_REGISTRY/otb-centos-superbuild-base:7.6.1810
script:
- export QT_QPA_PLATFORM=offscreen
- ctest -V -S CI/main_superbuild.cmake -DIMAGE_NAME:string=centos-7.6.1810-gcc
- ctest -V -S CI/main_packages.cmake -DIMAGE_NAME:string=centos-7.6.1810-gcc
- mv build_packages/OTB-*.run . || true
needs:
- job: centos-xdk-prepare
artifacts: true
## MacOS superbuild
macos-xdk-prepare:
extends: .common-prepare
......@@ -363,6 +383,8 @@ deploy:
artifacts: true
- job: windows-10-build
artifacts: true
- job: centos-xdk-build
artifacts: true
update-archive:
tags:
......
......@@ -81,6 +81,7 @@ set(WINDOWS_SYSTEM_DLLS
wldap32.dll
ws2_32.dll
wsock32.dll
MSVCP140_1.dll
)
set(LINUX_SYSTEM_DLLS
......@@ -105,6 +106,8 @@ set(LINUX_SYSTEM_DLLS
libXxf86vm.so*
libdrm.so.2
libGL.so*
libGLX.so*
libOpenGL.so*
libGLU.so*
libXrender.so*
libSM.so*
......@@ -118,6 +121,8 @@ set(LINUX_SYSTEM_DLLS
libodbc.so*
libpq.so*
libEGL.so*
libxkbcommon*
libxcb-*
)
# libexpat.so.*
# libfontconfig.so*
......
......@@ -26,21 +26,23 @@ endif()
file(MAKE_DIRECTORY ${INSTALL_DIR}/lib/fonts/)
if ( EXISTS "${DOWNLOAD_LOCATION}/dejavu-fonts-ttf-2.37.tar.bz2" )
file( MD5 "${DOWNLOAD_LOCATION}/dejavu-fonts-ttf-2.37.tar.bz2" MD5_FONT )
if ( EXISTS "${DOWNLOAD_LOCATION}/noto-sans.zip" )
file( MD5 "${DOWNLOAD_LOCATION}/noto-sans.zip" MD5_FONT )
endif()
if ( NOT ( "${MD5_FONT}" STREQUAL "d0efec10b9f110a32e9b8f796e21782c" ) )
if ( NOT ( "${MD5_FONT}" STREQUAL "6c4f1b790d2d7bdac917d5047ea1898d" ) )
MESSAGE("DOWNLOADING FONTS")
file(DOWNLOAD
"https://sourceforge.net/projects/dejavu/files/dejavu/2.37/dejavu-fonts-ttf-2.37.tar.bz2"
${DOWNLOAD_LOCATION}/dejavu-fonts-ttf-2.37.tar.bz2
EXPECTED_MD5 d0efec10b9f110a32e9b8f796e21782c)
"https://www.1001fonts.com/download/noto-sans.zip"
${DOWNLOAD_LOCATION}/noto-sans.zip
EXPECTED_MD5 6c4f1b790d2d7bdac917d5047ea1898d)
endif()
file(MAKE_DIRECTORY ${BUILD_DIR}/fonts/)
execute_process(
COMMAND ${CMAKE_COMMAND} -E tar -xf ${DOWNLOAD_LOCATION}/dejavu-fonts-ttf-2.37.tar.bz2
WORKING_DIRECTORY ${BUILD_DIR} )
COMMAND ${CMAKE_COMMAND} -E tar xzf ${DOWNLOAD_LOCATION}/noto-sans.zip
WORKING_DIRECTORY ${BUILD_DIR}/fonts )
file( COPY ${BUILD_DIR}/dejavu-fonts-ttf-2.37/ttf/.
file( COPY ${BUILD_DIR}/fonts/.
DESTINATION ${INSTALL_DIR}/lib/fonts/.)
......@@ -134,8 +134,8 @@ configure_file( ${QT5_CONFIGURE_COMMAND_IN} ${QT5_CONFIGURE_COMMAND} @ONLY )
ExternalProject_Add(QT5
PREFIX QT5
URL "https://ftp.osuosl.org/pub/blfs/conglomeration/qt5/qt-everywhere-src-5.11.3.tar.xz"
URL_MD5 02b353bfe7a40a8dc4274e1d17226d2b
URL "http://master.qt.io/archive/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz"
URL_MD5 e1447db4f06c841d8947f0a6ce83a7b5
BINARY_DIR ${QT5_SB_BUILD_DIR}
INSTALL_DIR ${SB_INSTALL_PREFIX}
DOWNLOAD_DIR ${DOWNLOAD_LOCATION}
......
diff -burN ossim-1.8.20-3.orig/ossim/include/ossim/base/ossimConstants.h ossim-1.8.20-3/ossim/include/ossim/base/ossimConstants.h
--- ossim-1.8.20-3.orig/ossim/include/ossim/base/ossimConstants.h 2021-07-28 10:09:22.060007606 +0200
+++ ossim-1.8.20-3/ossim/include/ossim/base/ossimConstants.h 2021-07-28 12:01:27.058425125 +0200
@@ -294,12 +294,21 @@
OSSIM_CFLOAT64 = 14, /**< 64 bit complex floating point */
OSSIM_NORMALIZED_FLOAT = 15, /**< 32 bit normalized floating point */
OSSIM_NORMALIZED_DOUBLE = 16, /**< 64 bit normalized floating point */
+ OSSIM_UINT11 = 17, /**< 16 bit unsigned integer (11 bits used) */
+ OSSIM_UINT12 = 18, /**< 16 bit unsigned integer (12 bits used) */
+ OSSIM_UINT13 = 19, /**< 16 bit unsigned integer (13 bits used) */
+ OSSIM_UINT14 = 20, /**< 16 bit unsigned integer (14 bits used) */
+ OSSIM_UINT15 = 21, /**< 16 bit unsigned integer (15 bits used) */
//---
// Below for backward compatibility only. Please use above enums in
// conjunction with null, min, max settings to determine bit depth.
//---
OSSIM_USHORT11 = 17, /**< 16 bit unsigned integer (11 bits used) */
+ OSSIM_USHORT12 = 18, /**< 16 bit unsigned integer (12 bits used) */
+ OSSIM_USHORT13 = 19, /**< 16 bit unsigned integer (13 bits used) */
+ OSSIM_USHORT14 = 20, /**< 16 bit unsigned integer (14 bits used) */
+ OSSIM_USHORT15 = 21, /**< 16 bit unsigned integer (15 bits used) */
OSSIM_UCHAR = 1, /**< 8 bit unsigned iteger */
OSSIM_USHORT16 = 3, /**< 16 bit unsigned iteger */
OSSIM_SSHORT16 = 4, /**< 16 bit signed integer */
@@ -524,6 +533,22 @@
#define OSSIM_DEFAULT_MIN_PIX_UINT11 ((ossim_uint16)1)
#define OSSIM_DEFAULT_MAX_PIX_UINT11 ((ossim_uint16)0x07FF)
+#define OSSIM_DEFAULT_NULL_PIX_UINT12 ((ossim_uint16)0)
+#define OSSIM_DEFAULT_MIN_PIX_UINT12 ((ossim_uint16)1)
+#define OSSIM_DEFAULT_MAX_PIX_UINT12 ((ossim_uint16)0x0FFF)
+
+#define OSSIM_DEFAULT_NULL_PIX_UINT13 ((ossim_uint16)0)
+#define OSSIM_DEFAULT_MIN_PIX_UINT13 ((ossim_uint16)1)
+#define OSSIM_DEFAULT_MAX_PIX_UINT13 ((ossim_uint16)0x1FFF)
+
+#define OSSIM_DEFAULT_NULL_PIX_UINT14 ((ossim_uint16)0)
+#define OSSIM_DEFAULT_MIN_PIX_UINT14 ((ossim_uint16)1)
+#define OSSIM_DEFAULT_MAX_PIX_UINT14 ((ossim_uint16)0x3FFF)
+
+#define OSSIM_DEFAULT_NULL_PIX_UINT15 ((ossim_uint16)0)
+#define OSSIM_DEFAULT_MIN_PIX_UINT15 ((ossim_uint16)1)
+#define OSSIM_DEFAULT_MAX_PIX_UINT15 ((ossim_uint16)0x7FFF)
+
#define OSSIM_DEFAULT_NULL_PIX_FLOAT ((ossim_float32)-1.0/FLT_EPSILON)
#define OSSIM_DEFAULT_MIN_PIX_FLOAT ((ossim_float32)((-1.0/FLT_EPSILON) + 1))
#define OSSIM_DEFAULT_MAX_PIX_FLOAT ((ossim_float32)((1.0/FLT_EPSILON)))
diff -burN ossim-1.8.20-3.orig/ossim/include/ossim/imaging/ossimBitMaskWriter.h ossim-1.8.20-3/ossim/include/ossim/imaging/ossimBitMaskWriter.h
--- ossim-1.8.20-3.orig/ossim/include/ossim/imaging/ossimBitMaskWriter.h 2021-07-28 10:09:22.084007795 +0200
+++ ossim-1.8.20-3/ossim/include/ossim/imaging/ossimBitMaskWriter.h 2021-07-28 10:37:48.125261018 +0200
@@ -16,6 +16,7 @@
#include <ossim/base/ossimIpt.h>
#include <ossim/base/ossimOutputSource.h>
#include <ossim/imaging/ossimPixelFlipper.h>
+#include <ossim/imaging/ossimMemoryImageSource.h>
#include <vector>
class ossimFilename;
@@ -123,6 +124,7 @@
ossimIpt computeImageSize(ossim_uint32 rlevel, ossimImageData* tile) const;
ossimRefPtr<ossimPixelFlipper> m_flipper;
+ ossimRefPtr<ossimMemoryImageSource> m_memoryImage;
vector<ossim_uint8*> m_buffers;
vector<ossimIpt> m_bufferSizes;
ossim_uint32 m_startingResLevel;
diff -burN ossim-1.8.20-3.orig/ossim/include/ossim/imaging/ossimPixelFlipper.h ossim-1.8.20-3/ossim/include/ossim/imaging/ossimPixelFlipper.h
--- ossim-1.8.20-3.orig/ossim/include/ossim/imaging/ossimPixelFlipper.h 2021-07-28 10:09:22.076007732 +0200
+++ ossim-1.8.20-3/ossim/include/ossim/imaging/ossimPixelFlipper.h 2021-07-28 10:39:08.741887033 +0200
@@ -206,9 +206,6 @@
virtual void setProperty(ossimRefPtr<ossimProperty> property);
virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
- //! This object can be used outside of an image chain for offline processing of existing tile.
- template <class T> void flipPixels(T dummy, ossimImageData* inpuTile, ossim_uint32 resLevel);
-
protected:
/** destructor */
virtual ~ossimPixelFlipper();
@@ -216,6 +213,9 @@
ossimImageData* inpuTile,
ossim_uint32 resLevel);
+ //! This object can be used outside of an image chain for offline processing of existing tile.
+ template <class T> void flipPixels(T dummy, ossimImageData* inpuTile, ossim_uint32 resLevel);
+
/**
* Verifies pixel is in range.
* @return Returns true if in range else false.
diff -burN ossim-1.8.20-3.orig/ossim/src/ossim/imaging/ossimBitMaskWriter.cpp ossim-1.8.20-3/ossim/src/ossim/imaging/ossimBitMaskWriter.cpp
--- ossim-1.8.20-3.orig/ossim/src/ossim/imaging/ossimBitMaskWriter.cpp 2021-07-28 10:09:22.048007512 +0200
+++ ossim-1.8.20-3/ossim/src/ossim/imaging/ossimBitMaskWriter.cpp 2021-07-28 10:56:32.965045856 +0200
@@ -29,6 +29,7 @@
ossimBitMaskWriter::ossimBitMaskWriter()
:
m_flipper(0),
+ m_memoryImage(0),
m_startingResLevel(0)
{
}
@@ -116,43 +117,12 @@
if (!m_flipper.valid())
initializeFlipper();
- // The flipper is used to identify null pixels since it has more sophisticated filtering
- // than available from the tile object:
- switch (tile->getScalarType())
- {
- case OSSIM_UCHAR:
- m_flipper->flipPixels(ossim_uint8(0), tile.get(), rLevel);
- break;
- case OSSIM_UINT16:
- case OSSIM_USHORT11:
- m_flipper->flipPixels(ossim_uint16(0), tile.get(), rLevel);
- break;
- case OSSIM_SSHORT16:
- m_flipper->flipPixels(ossim_sint16(0), tile.get(), rLevel);
- break;
- case OSSIM_UINT32:
- m_flipper->flipPixels(ossim_uint32(0), tile.get(), rLevel);
- break;
- case OSSIM_SINT32:
- m_flipper->flipPixels(ossim_sint32(0), tile.get(), rLevel);
- break;
- case OSSIM_FLOAT32:
- case OSSIM_NORMALIZED_FLOAT:
- m_flipper->flipPixels(float(0), tile.get(), rLevel);
- break;
- case OSSIM_NORMALIZED_DOUBLE:
- case OSSIM_FLOAT64:
- m_flipper->flipPixels(ossim_float64(0), tile.get(), rLevel);
- break;
- case OSSIM_SCALAR_UNKNOWN:
- default:
- ossimNotify(ossimNotifyLevel_WARN) << "ossimBitMaskWriter::generateMask()-- "
- "Unsupported scalar type!" << endl;
- break;
- }
-
- ossimIpt image_size = computeImageSize(rLevel, tile.get());
- ossim_uint32 num_mask_cols = (image_size.x+7)/8; // size of mask buffer after compression
+ ossimRefPtr<ossimImageData> flipTile;
+ m_memoryImage->setImage(tile);
+ m_flipper->initialize();
+ flipTile = m_flipper->getTile(tile->getImageRectangle());
+ ossimIpt image_size = computeImageSize(rLevel, flipTile.get());
+ ossim_uint32 num_mask_cols = (image_size.x + 7) / 8; // size of mask buffer after compression
ossim_uint32 num_mask_rows = image_size.y;
ossim_uint8* maskbuf = 0;
@@ -169,7 +139,7 @@
maskbuf = m_buffers[mask_rlevel];
ossim_uint32 mask_index=0, tile_index=0, start_bit=0;
- ossimIrect tile_rect (tile->getImageRectangle());
+ ossimIrect tile_rect (flipTile->getImageRectangle());
ossimIpt ul (tile_rect.ul());
ossimIpt lr (tile_rect.lr());
@@ -188,8 +158,7 @@
for (ossim_uint32 mask_bit=start_bit; mask_bit<8; ++mask_bit)
{
// Decide whether to mask depending on pixel flipper outputting a NULL pixel.
- // if (tile->isNull(tile_index++))
- if (tile->isNull(tile_index++))
+ if (flipTile->isNull(tile_index++))
maskbuf[mask_index] &= MASK_BITS_0[mask_bit];
else
maskbuf[mask_index] |= MASK_BITS_1[mask_bit];
@@ -296,6 +265,11 @@
m_flipper->setTargetValue(0);
m_flipper->setReplacementValue(0);
}
+ if (!m_memoryImage)
+ {
+ m_memoryImage = new ossimMemoryImageSource();
+ m_flipper->connectMyInputTo(m_memoryImage.get());
+ }
// This method gets called when an input connection is made as well as other times, so keep an
// eye out for valid input connection:
diff -burN ossim-1.8.20-3.orig/ossim/src/ossim/imaging/ossimPixelFlipper.cpp ossim-1.8.20-3/ossim/src/ossim/imaging/ossimPixelFlipper.cpp
--- ossim-1.8.20-3.orig/ossim/src/ossim/imaging/ossimPixelFlipper.cpp 2021-07-28 10:09:22.008007198 +0200
+++ ossim-1.8.20-3/ossim/src/ossim/imaging/ossimPixelFlipper.cpp 2021-07-28 11:03:04.195539425 +0200
@@ -94,7 +94,6 @@
// Call the appropriate load method.
switch (inputTile->getScalarType())
{
-
case OSSIM_UCHAR:
{
flipPixels(ossim_uint8(0), inputTile.get(), resLevel);
@@ -103,6 +102,10 @@
case OSSIM_UINT16:
case OSSIM_USHORT11:
+ case OSSIM_USHORT12:
+ case OSSIM_USHORT13:
+ case OSSIM_USHORT14:
+ case OSSIM_USHORT15:
{
flipPixels(ossim_uint16(0), inputTile.get(), resLevel);
break;
@@ -126,7 +129,7 @@
case OSSIM_FLOAT32:
case OSSIM_NORMALIZED_FLOAT:
{
- flipPixels(float(0), inputTile.get(), resLevel);
+ flipPixels(ossim_float32(0), inputTile.get(), resLevel);
break;
}
--- qt-everywhere-src-5.10.1/qtbase/src/gui/configure.json 2018-02-08 19:24:48.000000000 +0100
--- qt-everywhere-src-5.15.2/qtbase/src/gui/configure.json 2018-02-08 19:24:48.000000000 +0100
+++ QT5/qtbase/src/gui/configure.json 2018-04-10 11:50:15.631526687 +0200
@@ -278,8 +278,7 @@
"main": "jpeg_create_compress(cinfo);"
},
@@ -374,7 +374,6 @@
"headers": "jpeglib.h",
"sources": [
{ "type": "pkgConfig", "args": "libjpeg" },
- { "libs": "-llibjpeg", "condition": "config.msvc" },
- { "libs": "-ljpeg", "condition": "!config.msvc" }
+ { "libs": "-ljpeg" }
"-ljpeg"
]
},
"libpng": {
--- qt-everywhere-src-5.10.1/qtbase/src/gui/configure.json 2018-02-08 19:24:48.000000000 +0100
--- qt-everywhere-src-5.15.2/qtbase/src/gui/configure.json 2018-02-08 19:24:48.000000000 +0100
+++ QT5/src/QT5/qtbase/src/gui/configure.json 2018-04-10 14:34:05.529668610 +0200
@@ -158,8 +158,8 @@
]
@@ -238,8 +238,8 @@
},
"headers": "ft2build.h",
"sources": [
- { "type": "pkgConfig", "args": "freetype2" },
- { "type": "freetype", "libs": "-lfreetype" }
+ { "type": "freetype", "libs": "-lfreetype" },
+ { "type": "pkgConfig", "args": "freetype2" }
]
},
"fontconfig": {
@@ -289,9 +289,9 @@
"main": "(void) png_create_read_struct(PNG_LIBPNG_VER_STRING,0,0,0);"
},
{ "type": "freetype", "libs": "-lfreetype", "condition": "!config.wasm" },
+ { "type": "pkgConfig", "args": "freetype2" },
{ "libs": "-s USE_FREETYPE=1", "condition": "config.wasm" },
{ "libs": "-lfreetype" }
],
@@ -397,11 +397,11 @@
"headers": "png.h",
"sources": [
- { "type": "pkgConfig", "args": "libpng" },
+ { "libs": "-lpng", "condition": "!config.msvc" },
{ "libs": "-llibpng16", "condition": "config.msvc" },
{ "libs": "-llibpng", "condition": "config.msvc" },
- { "libs": "-lpng", "condition": "!config.msvc" }
+ { "type": "pkgConfig", "args": "libpng" }
{ "libs": "-lpng16", "condition": "!config.msvc" },
- { "libs": "-lpng", "condition": "!config.msvc" },
+ { "type": "pkgConfig", "args": "libpng" },
{ "libs": "-s USE_LIBPNG=1", "condition": "config.wasm" }
],
"use": [
{ "lib": "zlib", "condition": "features.system-zlib" }
{ "lib": "zlib", "condition": "features.system-zlib" }
\ No newline at end of file
......@@ -66,25 +66,12 @@ diff -burN qt-everywhere-src-5.14.1/qttools/src/assistant/assistant/assistant.p
load(qt_app)
--- qt-everywhere-src-5.11.3-orig/qttools/src/assistant/qcollectiongenerator/qcollectiongenerator.pro 2018-11-23 08:41:24.000000000 +0100
+++ qt-everywhere-src-5.11.3/qttools/src/assistant/qcollectiongenerator/qcollectiongenerator.pro 2020-09-04 15:42:48.968480227 +0200
@@ -1,5 +1,8 @@
QT += network help-private
TARGET = qcollectiongenerator
--- qt-everywhere-src-5.11.3-orig/qttools/src/assistant/help/help.pro 2018-11-23 08:41:24.000000000 +0100
+++ qt-everywhere-src-5.11.3/qttools/src/assistant/help/help.pro 2020-09-04 15:48:05.003811338 +0200
@@ -3,4 +3,7 @@
QT = core-private gui widgets sql
QT_PRIVATE = network
+
+LIBS += -lpng
+
SOURCES += ../shared/helpgenerator.cpp \
main.cpp \
../shared/collectionconfiguration.cpp
--- qt-everywhere-src-5.11.3-orig/qttools/src/assistant/qhelpconverter/qhelpconverter.pro 2018-11-23 08:41:24.000000000 +0100
+++ qt-everywhere-src-5.11.3/qttools/src/assistant/qhelpconverter/qhelpconverter.pro 2020-09-04 15:48:05.003811338 +0200
@@ -1,5 +1,7 @@
QT += help widgets
+LIBS += -lpng
+
SOURCES += conversionwizard.cpp \
inputpage.cpp \
generalpage.cpp \
DEFINES += QHELP_LIB
--- a/qtbase/src/corelib/global/qrandom.cpp
+++ b/qtbase/src/corelib/global/qrandom.cpp
@@ -218,6 +218,7 @@ struct QRandomGenerator::SystemGenerator
#endif // Q_OS_WINRT
static SystemGenerator &self();
+ typedef quint32 result_type;
void generate(quint32 *begin, quint32 *end) Q_DECL_NOEXCEPT_EXPR(FillBufferNoexcept);
// For std::mersenne_twister_engine implementations that use something
--
2.16.3
diff -burN QT5-orig/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp QT5/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
--- QT5-orig/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp 2021-08-09 12:31:58.683361911 +0200
+++ QT5/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp 2021-08-09 12:50:06.263308909 +0200
@@ -76,6 +76,11 @@
# define Q_CLIENT_MULTI_STATEMENTS 0
#endif
+// Commit 818ab021f5fbeeddaed001efd8716907e735bd71 from QT, integrated in QT 5.12
+// MySQL above version 8 removed my_bool typedef while MariaDB kept it,
+// by redefining it we can regain source compatibility.
+using my_bool = decltype(mysql_stmt_bind_result(nullptr, nullptr));
+
QT_BEGIN_NAMESPACE
class QMYSQLDriverPrivate : public QSqlDriverPrivate
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment