Skip to content

Commit cc3c064

Browse files
authored
Merge pull request #868 from openstudiocoalition/bump_qt_6_11_0
Bump Qt from 6.5.2 to Qt 6.11.0
2 parents 10d403e + cfdb5f8 commit cc3c064

34 files changed

+85
-65
lines changed

.github/workflows/app_build.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ env:
1616
BUILD_TESTING: ON
1717
BUILD_BENCHMARK: ON
1818
BUILD_PACKAGE: ON
19-
QT_VERSION: 6.5.2
19+
QT_VERSION: 6.11.0
2020
QT_DEBUG_PLUGINS: 1
2121

2222
jobs:
@@ -42,7 +42,7 @@ jobs:
4242
BINARY_PKG_PATH: _CPack_Packages/Linux/DEB
4343
COMPRESSED_PKG_PATH: _CPack_Packages/Linux/TGZ
4444
QT_OS_NAME: linux
45-
QT_ARCH: gcc_64
45+
QT_ARCH: linux_gcc_64
4646
arch: x86_64
4747
- os: ubuntu-24.04
4848
SELF_HOSTED: false
@@ -52,7 +52,7 @@ jobs:
5252
BINARY_PKG_PATH: _CPack_Packages/Linux/DEB
5353
COMPRESSED_PKG_PATH: _CPack_Packages/Linux/TGZ
5454
QT_OS_NAME: linux
55-
QT_ARCH: gcc_64
55+
QT_ARCH: linux_gcc_64
5656
arch: x86_64
5757
- os: windows-2022
5858
SELF_HOSTED: false
@@ -62,7 +62,7 @@ jobs:
6262
BINARY_PKG_PATH: _CPack_Packages/win64/IFW
6363
COMPRESSED_PKG_PATH: _CPack_Packages/win64/ZIP
6464
QT_OS_NAME: windows
65-
QT_ARCH: win64_msvc2019_64
65+
QT_ARCH: win64_msvc2022_64
6666
arch: x86_64
6767
- os: macos-15-intel
6868
SELF_HOSTED: false
@@ -418,12 +418,12 @@ jobs:
418418
cmake -E make_directory ./build
419419
420420
if [ "$RUNNER_OS" == "Windows" ]; then
421-
# QT_INSTALL_DIR="$(pwd)/build/Qt-install/$QT_VERSION/msvc2019_64"
422-
QT_INSTALL_DIR="$(cmd.exe //c cd)\build\Qt-install\${{ env.QT_VERSION }}\msvc2019_64"
421+
# QT_INSTALL_DIR="$(pwd)/build/Qt-install/$QT_VERSION/msvc2022_64"
422+
QT_INSTALL_DIR="$(cmd.exe //c cd)\build\Qt-install\${{ env.QT_VERSION }}\msvc2022_64"
423423
elif [ "$RUNNER_OS" == "macOS" ]; then
424424
QT_INSTALL_DIR="$(pwd)/build/Qt-install/$QT_VERSION/macos"
425425
else
426-
QT_INSTALL_DIR="$(pwd)/build/Qt-install/$QT_VERSION/${{ matrix.QT_ARCH }}"
426+
QT_INSTALL_DIR="$(pwd)/build/Qt-install/$QT_VERSION/gcc_64"
427427
fi
428428
429429
if [ -d "$QT_INSTALL_DIR" ]; then
@@ -432,7 +432,11 @@ jobs:
432432
echo "Install aqtinstall, then install Qt $QT_VERSION for ${{ matrix.QT_OS_NAME }} ${{ matrix.QT_ARCH }}"
433433
pip show setuptools || true
434434
pip install setuptools --upgrade
435-
pip3 install aqtinstall
435+
# TODO: temporary, pending a new release after 3.3.0, need to download a fix, download.qt.io changed the directory structure for Qt 6.11.0 on windows:
436+
# * Issue: https://github.com/miurahr/aqtinstall/issues/1007
437+
# * Fixed via https://github.com/miurahr/aqtinstall/pull/1000
438+
# pip install aqtinstall
439+
pip install git+https://github.com/miurahr/aqtinstall.git@master
436440
aqt list-qt ${{ matrix.QT_OS_NAME }} desktop --arch $QT_VERSION
437441
aqt list-qt ${{ matrix.QT_OS_NAME }} desktop --modules $QT_VERSION ${{ matrix.QT_ARCH }}
438442
aqt install-qt --outputdir ./build/Qt-install/ ${{ matrix.QT_OS_NAME }} desktop $QT_VERSION ${{ matrix.QT_ARCH }} -m qtwebchannel qtwebengine qtwebview qtpositioning qtcharts

CMakeLists.txt

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -522,9 +522,9 @@ if(UNIX)
522522
endif()
523523

524524
# Qt
525-
# e.g. QT_INSTALL_DIR = C:/Qt/6.5.2/msvc2019_64
525+
# e.g. QT_INSTALL_DIR = C:/Qt/6.11.0/msvc2019_64
526526
set(QT_INSTALL_DIR "" CACHE PATH "Path to Qt Install")
527-
set(QT_VERSION "6.5.2" CACHE STRING "Qt target version, defaults to 6.5.2")
527+
set(QT_VERSION "6.11.0" CACHE STRING "Qt target version, defaults to 6.11.0")
528528

529529
# For AboutBox, but also validates that the version is valid
530530
string(TIMESTAMP CURRENT_YEAR "%Y")
@@ -558,7 +558,7 @@ find_file(qweb_resources NAMES qtwebengine_resources.pak PATHS "${QT_INSTALL_DIR
558558
find_file(qweb_resources_devtools NAMES qtwebengine_devtools_resources.pak PATHS "${QT_INSTALL_DIR}/resources/" "${QT_INSTALL_DIR}/lib/QtWebEngineCore.framework/Resources" NO_DEFAULT_PATH)
559559
find_file(qweb_resources_100 NAMES qtwebengine_resources_100p.pak PATHS "${QT_INSTALL_DIR}/resources/" "${QT_INSTALL_DIR}/lib/QtWebEngineCore.framework/Resources" NO_DEFAULT_PATH)
560560
find_file(qweb_resources_200 NAMES qtwebengine_resources_200p.pak PATHS "${QT_INSTALL_DIR}/resources/" "${QT_INSTALL_DIR}/lib/QtWebEngineCore.framework/Resources" NO_DEFAULT_PATH)
561-
#find_file(qweb_resources_v8_context_snapshot NAMES v8_context_snapshot.bin PATHS "${QT_INSTALL_DIR}/resources/" "${QT_INSTALL_DIR}/lib/QtWebEngineCore.framework/Resources" NO_DEFAULT_PATH)
561+
find_file(qweb_resources_v8_context_snapshot NAMES v8_context_snapshot.bin PATHS "${QT_INSTALL_DIR}/resources/" "${QT_INSTALL_DIR}/lib/QtWebEngineCore.framework/Resources" NO_DEFAULT_PATH)
562562

563563
# QT_WEB_LIBS are linked by OS App and openstudio_lib but not by openstudio_modeleditor.so or openstudio_modeleditor
564564
list(APPEND QT_WEB_LIBS Qt6::WebEngineCore)
@@ -581,6 +581,17 @@ if(NOT APPLE)
581581
find_package(Qt6QmlModels ${QT_VERSION} REQUIRED PATHS ${QT_INSTALL_DIR} NO_DEFAULT_PATH)
582582
list(APPEND QT_WEB_LIBS Qt6::QmlModels)
583583

584+
# Qt 6.11+ splits QmlMeta and QmlWorkerScript into their own libraries (required by QtWebEngineProcess)
585+
find_package(Qt6QmlMeta ${QT_VERSION} QUIET PATHS ${QT_INSTALL_DIR} NO_DEFAULT_PATH)
586+
if(Qt6QmlMeta_FOUND)
587+
list(APPEND QT_WEB_LIBS Qt6::QmlMeta)
588+
endif()
589+
590+
find_package(Qt6QmlWorkerScript ${QT_VERSION} QUIET PATHS ${QT_INSTALL_DIR} NO_DEFAULT_PATH)
591+
if(Qt6QmlWorkerScript_FOUND)
592+
list(APPEND QT_WEB_LIBS Qt6::QmlWorkerScript)
593+
endif()
594+
584595
find_package(Qt6Positioning ${QT_VERSION} REQUIRED PATHS ${QT_INSTALL_DIR} NO_DEFAULT_PATH)
585596
list(APPEND QT_WEB_LIBS Qt6::Positioning)
586597

@@ -590,14 +601,19 @@ if(NOT APPLE)
590601

591602
find_library(QT_QXCBQPA NAMES libQt6XcbQpa.so.${QT_VERSION} PATHS "${QT_INSTALL_DIR}/lib" NO_DEFAULT_PATH)
592603

593-
find_library(QT_ICU icui18n REQUIRED PATHS "${QT_INSTALL_DIR}/lib" NO_DEFAULT_PATH)
594-
find_library(QT_ICUDATA icudata REQUIRED PATHS "${QT_INSTALL_DIR}/lib" NO_DEFAULT_PATH)
595-
find_library(QT_ICUUC icuuc REQUIRED PATHS "${QT_INSTALL_DIR}/lib" NO_DEFAULT_PATH)
596604
set(QT_ICU_LIBS
597-
${QT_ICU}
598-
${QT_ICUDATA}
599-
${QT_ICUUC}
600-
)
605+
"${QT_INSTALL_DIR}/lib/libicui18n.so.73.2"
606+
"${QT_INSTALL_DIR}/lib/libicuuc.so.73.2"
607+
"${QT_INSTALL_DIR}/lib/libicudata.so.73.2"
608+
)
609+
# Ensure each ICU library exists
610+
foreach(lib IN LISTS QT_ICU_LIBS)
611+
if(NOT EXISTS "${lib}")
612+
message(FATAL_ERROR "Qt ICU library not found: ${lib}")
613+
elseif(IS_SYMLINK "${lib}")
614+
message(FATAL_ERROR "Qt ICU library is a symlink, expected a real file: ${lib}")
615+
endif()
616+
endforeach()
601617

602618
list(APPEND QT_EXTRA_LIBS ${QT_QXCBQPA} ${QT_ICU_LIBS})
603619
endif()

src/openstudio_app/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ elseif( UNIX )
229229
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${qweb_resources_devtools} $<TARGET_FILE_DIR:${target_name}>/resources/
230230
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${qweb_resources_100} $<TARGET_FILE_DIR:${target_name}>/resources/
231231
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${qweb_resources_200} $<TARGET_FILE_DIR:${target_name}>/resources/
232-
#COMMAND ${CMAKE_COMMAND} -E copy_if_different ${qweb_resources_v8_context_snapshot} $<TARGET_FILE_DIR:${target_name}>/resources/
232+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${qweb_resources_v8_context_snapshot} $<TARGET_FILE_DIR:${target_name}>/resources/
233233
)
234234

235235
# Note: JM: Qt 6.3.0, I can no longer access $<TARGET_FILE:Qt6::QXcbIntegrationPlugin>

src/openstudio_app/OpenStudioApp.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -983,7 +983,6 @@ void OpenStudioApp::showAbout() {
983983
QMessageBox about(parent);
984984
about.setText(OPENSTUDIOAPP_ABOUTBOX);
985985
about.setDetailedText(details);
986-
about.setStyleSheet("qproperty-alignment: AlignLeft;");
987986
about.setWindowTitle("About " + applicationName());
988987

989988
about.setIconPixmap(QPixmap(":/images/os_128.png"));

src/openstudio_lib/ConstructionsTabController.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ void ConstructionsTabController::setSubTab(int index) {
3939
}
4040

4141
if (m_currentController) {
42-
m_currentController->disconnect();
4342
delete m_currentController;
4443
}
4544

src/openstudio_lib/DesignDayGridView.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ void DesignDayGridController::addColumns(const QString& /*category*/, std::vecto
237237
} else if (field == SELECTED) {
238238
auto checkbox = QSharedPointer<OSSelectAllCheckBox>(new OSSelectAllCheckBox());
239239
checkbox->setToolTip(tr("Check to select all rows"));
240-
connect(checkbox.data(), &OSSelectAllCheckBox::stateChanged, this, &DesignDayGridController::onSelectAllStateChanged);
240+
connect(checkbox.data(), &OSSelectAllCheckBox::checkStateChanged, this, &DesignDayGridController::onSelectAllStateChanged);
241241
connect(this, &DesignDayGridController::gridRowSelectionChanged, checkbox.data(), &OSSelectAllCheckBox::onGridRowSelectionChanged);
242242
addSelectColumn(Heading(SELECTED, false, false, checkbox), "Check to select this row");
243243
}

src/openstudio_lib/FacilityExteriorEquipmentGridView.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ void FacilityExteriorEquipmentGridController::addColumns(const QString& category
231231

232232
auto checkbox = QSharedPointer<OSSelectAllCheckBox>(new OSSelectAllCheckBox());
233233
checkbox->setToolTip("Check to select all rows");
234-
connect(checkbox.data(), &OSSelectAllCheckBox::stateChanged, this, &FacilityExteriorEquipmentGridController::onSelectAllStateChanged);
234+
connect(checkbox.data(), &OSSelectAllCheckBox::checkStateChanged, this, &FacilityExteriorEquipmentGridController::onSelectAllStateChanged);
235235
connect(this, &FacilityExteriorEquipmentGridController::gridRowSelectionChanged, checkbox.data(),
236236
&OSSelectAllCheckBox::onGridRowSelectionChanged);
237237
addSelectColumn(Heading(QString(SELECTED), false, false, checkbox), "Check to select this row");

src/openstudio_lib/FacilityShadingGridView.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ void FacilityShadingGridController::addColumns(const QString& category, std::vec
474474
if (field == SELECTED) {
475475
auto checkbox = QSharedPointer<OSSelectAllCheckBox>(new OSSelectAllCheckBox());
476476
checkbox->setToolTip("Check to select all rows");
477-
connect(checkbox.data(), &OSSelectAllCheckBox::stateChanged, this, &FacilityShadingGridController::onSelectAllStateChanged);
477+
connect(checkbox.data(), &OSSelectAllCheckBox::checkStateChanged, this, &FacilityShadingGridController::onSelectAllStateChanged);
478478
connect(this, &FacilityShadingGridController::gridRowSelectionChanged, checkbox.data(), &OSSelectAllCheckBox::onGridRowSelectionChanged);
479479
addSelectColumn(Heading(QString(SELECTED), false, false, checkbox), "Check to select this row", DataSource(allShadingSurfaces, true));
480480
} else if (field == SHADINGSURFACENAME) {

src/openstudio_lib/FacilityStoriesGridView.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ void FacilityStoriesGridController::addColumns(const QString& category, std::vec
276276
} else if (field == SELECTED) {
277277
auto checkbox = QSharedPointer<OSSelectAllCheckBox>(new OSSelectAllCheckBox());
278278
checkbox->setToolTip("Check to select all rows");
279-
connect(checkbox.data(), &OSSelectAllCheckBox::stateChanged, this, &FacilityStoriesGridController::onSelectAllStateChanged);
279+
connect(checkbox.data(), &OSSelectAllCheckBox::checkStateChanged, this, &FacilityStoriesGridController::onSelectAllStateChanged);
280280
connect(this, &FacilityStoriesGridController::gridRowSelectionChanged, checkbox.data(), &OSSelectAllCheckBox::onGridRowSelectionChanged);
281281
addSelectColumn(Heading(QString(SELECTED), false, false, checkbox), "Check to select this row");
282282
} else if (field == NOMINALZCOORDINATE) {

src/openstudio_lib/FacilityTabController.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ void FacilityTabController::setSubTab(int index) {
4646
}
4747

4848
if (m_currentView) {
49-
m_currentView->disconnect();
5049
delete m_currentView;
5150
}
5251

0 commit comments

Comments
 (0)