Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
82a7b16
Initial upgrade to Qt6
ksuprynowicz Sep 6, 2025
db618a5
Initial work on upgrading QML to Qt6
ksuprynowicz Sep 6, 2025
1cf1db5
Get Qt6 compiling and running, get QML starting
ada-tv Sep 7, 2025
45aecaf
Comment out enough QML to get the desktop starting, though framebuffe…
ada-tv Sep 7, 2025
602b9fd
VrMenu fixes for Qt6, part 1
ksuprynowicz Sep 9, 2025
3306d6a
VRMenu fixes for Qt6
ksuprynowicz Sep 14, 2025
6bb1bb8
QQuickWebEngineView fixes for Qt6
ksuprynowicz Sep 14, 2025
b6b953f
Fix QML OpenGL contexts
ksuprynowicz Sep 19, 2025
4832a18
Fix a handful of Qt6 crashes, flow now works properly
ada-tv Sep 19, 2025
98d83d8
Metaobject-related fixes
ksuprynowicz Sep 27, 2025
3d08b43
Add a check for catching MOC-related invoke bug
ksuprynowicz Sep 27, 2025
43c04ff
Remove glm::quat from scripting API
ksuprynowicz Sep 27, 2025
6cba217
Remove glm::vec3 from scripting API
ksuprynowicz Sep 27, 2025
fc0eb44
Smaller script API types fixes for Qt6
ksuprynowicz Sep 27, 2025
3a36b23
Work around QVariant copy bug
ksuprynowicz Sep 28, 2025
ccb5433
More workarounds for MOC typedef bug
ksuprynowicz Sep 28, 2025
afc3750
Fixed memory safety issue in ScriptObjectV8Proxy
ksuprynowicz Sep 30, 2025
9bf393a
Re-enable QML rendering
ksuprynowicz Sep 30, 2025
e70c8da
Qt6: QML render target now set up properly, QML web entities rendering
ada-tv Oct 1, 2025
1465463
Removed properties with missing font
ksuprynowicz Oct 1, 2025
ffc14d3
Fixed glm::mat4 typedefs for MOC
ksuprynowicz Oct 1, 2025
e7e43fd
Qt6 QML fixes
ksuprynowicz Oct 2, 2025
fd34f52
Re-enable desktop on Qt6
ksuprynowicz Oct 3, 2025
113b3de
Fix webengine UI crash
ksuprynowicz Oct 5, 2025
64dc746
QML fixes for Qt 6
ksuprynowicz Oct 5, 2025
a4a1041
Workaround for broken window inputs
ksuprynowicz Oct 5, 2025
4edbbdb
Re-enable FileDialog on Qt6
ksuprynowicz Oct 6, 2025
9c26fa6
Make file dialog show files on Qt6
ksuprynowicz Oct 7, 2025
21b179e
Fix Sampler.cpp for Qt6
ksuprynowicz Oct 13, 2025
eb13487
Memory safety fixes
ksuprynowicz Oct 14, 2025
a4a1d18
Fix most of compiler warnings on Qt6
ksuprynowicz Oct 15, 2025
904039b
Move Reource cache from QSharedPointer to std::shared_ptr
ksuprynowicz Oct 17, 2025
9460938
Fix issues with resource pointers
ksuprynowicz Oct 18, 2025
09e5120
Resource shared_ptr fixes
ksuprynowicz Oct 20, 2025
b7b8c0e
Resource pointer fixes
ksuprynowicz Oct 21, 2025
0541a33
Fixes for Resource Qt events after deleteLater()
ksuprynowicz Oct 24, 2025
6130976
Fix voxels memory issue
ksuprynowicz Oct 24, 2025
24286bb
Temporary workaround for text entity fade crash
ksuprynowicz Oct 24, 2025
3b34f9f
Fix webentities on Qt6
ksuprynowicz Oct 24, 2025
828996b
Fix message dialogs and partially fix graphics settings
ada-tv Oct 9, 2025
6a960c7
Use new callback syntax in TabletHome, workaround for Qt::TimerType e…
ada-tv Oct 13, 2025
1992ff0
Possible fix for QTimer* bug in script engine
ksuprynowicz Oct 25, 2025
65beb0f
QNetworkReply signal fixes
ksuprynowicz Oct 25, 2025
d7fbd0a
Fix vec4 in script engine
ksuprynowicz Oct 25, 2025
926bcc4
Add experimental Qt 6.8.3 package.
JulianGro Oct 21, 2025
e30bcbb
Quazip is required for building.
JulianGro Oct 21, 2025
3c6317c
Update conanfile.py
JulianGro Oct 21, 2025
e4d0644
Use shared fontconfig and freetype to avoid Qt linking issues.
JulianGro Oct 21, 2025
cbde6a2
Use Qt source package on Ubuntu 22.04 PR builds.
JulianGro Oct 21, 2025
ddcebcf
Enable with_dbus as it is required by Qt WebEngine.
JulianGro Oct 22, 2025
c12059f
Use shared NSS, as NSS' Conan recipe doesn't support static building …
JulianGro Oct 22, 2025
c830f58
Use shared NSPR, since NSS cannot link against static NSPR.
JulianGro Oct 22, 2025
7f3fbb4
Avoid `undefined symbol` errors when building NSS.
JulianGro Oct 24, 2025
966cd08
Use upstream Qt package, since all current changes have been upstreamed.
JulianGro Oct 24, 2025
4dc629a
Fix `libraries\shared\src\shared\platform\WinHelper.cpp(30,10): error…
RTUnreal Oct 25, 2025
183e3d0
Fix building against system Quazip.
JulianGro Oct 27, 2025
d6fd490
Fix FBX support on Qt6
ksuprynowicz Oct 29, 2025
e944875
Add new QML files
ada-tv Oct 26, 2025
6211069
Change window theme, new chat app, new settings app
ada-tv Oct 26, 2025
bf2b6af
Move keyboard and login screen into staging dir
ada-tv Oct 26, 2025
c730b37
Fully functional running scripts dialog
ada-tv Oct 27, 2025
3aaa397
sed all of the tabs into 4-spaces (oops)
ada-tv Oct 27, 2025
750049d
Mostly-functional contacts app, easy profile picture setting
ada-tv Oct 27, 2025
7243df0
Functional file picker
ada-tv Oct 27, 2025
5c752bd
Asset dialog opens, not functional yet
ada-tv Oct 27, 2025
095b53c
Kinda-functional asset browser
ada-tv Oct 29, 2025
431aba4
Mostly-functional settings menu
ada-tv Oct 29, 2025
3e42b44
Polish
ada-tv Oct 29, 2025
8f9eb3c
moc macro typo
ada-tv Oct 30, 2025
e0b53a2
Use and bundle Roboto instead of DejaVu Sans
ada-tv Oct 30, 2025
ae4ef41
Add the old settings menu items back as a fallback
ada-tv Oct 30, 2025
667ac0c
fix removed qt5 headers
RTUnreal Nov 7, 2025
c292c1c
fix incorrect initialization of array
RTUnreal Nov 7, 2025
2ebd1fd
fix wrong typing?
RTUnreal Nov 7, 2025
c042d3a
fix debug only vars being used in non debug env
RTUnreal Nov 7, 2025
d802055
fix usage of not (yet) supported c++20 syntax
RTUnreal Oct 28, 2025
603bccf
fix windows gl.h not being initialized properly?
RTUnreal Nov 7, 2025
8ee9f13
fix file encoding issue
RTUnreal Oct 29, 2025
04fe184
fix some plugin errors
RTUnreal Oct 31, 2025
a0d8969
fix application event handler
RTUnreal Nov 7, 2025
7fbf360
fix correct debug output of ScriptException
RTUnreal Nov 7, 2025
3dfc0be
fix typing and implement more QDebug stuff
RTUnreal Nov 7, 2025
0fd0cbf
fix more errors
RTUnreal Nov 4, 2025
564dd73
Angle was removed from Qt6 for Windows.
JulianGro Nov 5, 2025
62a03ca
switch from `fromUint128` to default constructor
RTUnreal Nov 5, 2025
07caf30
explicitly construct QByteArray
RTUnreal Nov 5, 2025
2f4ac3c
fix changed class name
RTUnreal Nov 7, 2025
e0f8b84
Fixed mouse movement issue on Qt6
ksuprynowicz Nov 8, 2025
cbd9b72
Fix mouse and touches on Web entities
ada-tv Nov 13, 2025
a6b0499
Use virtual pointer device on QML desktop
ada-tv Nov 13, 2025
c98c0dc
Fix timestamps for offscreen UI
ksuprynowicz Nov 15, 2025
ff57914
Qt6 input events debugging and fixes
ksuprynowicz Nov 15, 2025
a5f5a3f
Fix MOC issue with pointer scripting on Qt6
ksuprynowicz Nov 16, 2025
ca2ae02
Fix web entity inputs
ksuprynowicz Nov 29, 2025
b7ad1e3
Post-rebase fixes
ksuprynowicz Jan 5, 2026
1b21148
Fixes for existing overhauled QML
ada-tv Nov 6, 2025
34ef632
First pass of More app and Places app
ada-tv Nov 6, 2025
b1cbb95
Sort by ID instead of alphabetically, quicker 'has users' button, pla…
ada-tv Nov 7, 2025
36a9848
More app retries, mistake fixups
ada-tv Nov 7, 2025
a50767a
Use periodic shuffling in Places app, prefer places with thumbnails
ada-tv Nov 7, 2025
b2d16e4
Add nametag visibility to settings
ada-tv Nov 7, 2025
54b0d00
Show domain in user count, place portals
ada-tv Nov 7, 2025
56baa11
Fix avatar app edit having empty fields if the "add new" button was c…
ada-tv Nov 7, 2025
b0cef7b
Widen portal text entity, update todo list
ada-tv Nov 8, 2025
c0d682b
Restore HTML places app and shelve the QML one for later
ada-tv Nov 8, 2025
f8a2918
External app list support in More app
ada-tv Nov 14, 2025
290fa60
More settings
ada-tv Nov 15, 2025
69c043b
Remove YouTube forced 30 FPS on Web entities, WidgetZoo scroll backgr…
ada-tv Nov 15, 2025
b986f6b
Image embeds in chat app
ada-tv Nov 25, 2025
69c0562
Fix CBOR crashes
ksuprynowicz Feb 20, 2026
6893fa5
Fix prefetchAndMoveToThread post-rebase
ksuprynowicz Feb 20, 2026
52acb67
Update settings
ada-tv Feb 21, 2026
0be63f0
fix qt6 chat
ada-tv Feb 21, 2026
dfc2e90
editable settings spinboxes, local lights setting
ada-tv Feb 22, 2026
771d6e4
Kinda-working real settings for color scheme/high contrast/reduced mo…
ada-tv Feb 23, 2026
b32b9d7
Avatar app changes
ada-tv Feb 23, 2026
3c28ed9
Save chat history in chat.js instead of QML, stop forcing chat window…
ada-tv Feb 23, 2026
0bf906a
Fix avatar entity data parsing in avatar app
ada-tv Feb 23, 2026
3cfdd1a
Revert a number of commits, which were obsoleted by adding a Linux Co…
JulianGro May 26, 2026
f11a47f
Add Qt6 system package.
JulianGro May 26, 2026
afb46ae
Update Qt6 source upstream package.
JulianGro May 26, 2026
a5cb72c
Update to a new Qt6 AQt package.
JulianGro May 26, 2026
1f1a1e8
Update pr_build.yml
JulianGro May 26, 2026
0dc7cf2
Update pr_build.yml
JulianGro May 26, 2026
9915d95
Update pr_build.yml
JulianGro May 26, 2026
54c7688
Please run GitHub actions.
JulianGro May 26, 2026
4e8ead0
Merge branch 'master' into qt6-package-updates
JulianGro May 26, 2026
7fdefba
Please run GitHub actions.
JulianGro May 26, 2026
8b190ec
Update pr_build.yml
JulianGro May 26, 2026
5d78e08
Force Opus version to avoid conflict with Qt6 source package.
JulianGro May 26, 2026
453f51a
Build WebEngine `with_dbus`.
JulianGro May 26, 2026
516cde1
Build without PostgreSQL support on Windows to avoid linking errors.
JulianGro May 26, 2026
9602377
Replace PulseAudio backend with GStreamer. See: QTBUG-95116
JulianGro May 26, 2026
7260847
Merge branch 'master' into qt6-package-updates
JulianGro May 26, 2026
f4dd206
Update conanfile.py
JulianGro May 26, 2026
3916339
Downgrade AQt to 6.10.3, since 6.11.x is not actually available yet.
JulianGro May 26, 2026
1e72eeb
Update conanfile.py
JulianGro May 26, 2026
4770eeb
Revert "Replace PulseAudio backend with GStreamer. See: QTBUG-95116"
JulianGro May 26, 2026
b7d2211
Use patched Qt6 package, which allows building with PulseAudio.
JulianGro May 27, 2026
058f30a
Update conanfile.py
JulianGro May 27, 2026
329cec5
Work around https://github.com/conan-io/conan-center-index/issues/17876
JulianGro Mar 10, 2026
47ccdb5
Update conanfile.py
JulianGro May 27, 2026
685523f
Update pr_build.yml and conanfile.py
JulianGro May 29, 2026
e7bc13a
Update action.yml
JulianGro May 29, 2026
0e4737c
Update conanfile.py
JulianGro May 29, 2026
9415842
Update conanfile.py
JulianGro May 29, 2026
de62fa4
Update action.yml
JulianGro May 29, 2026
776c008
Enable Qt WebEngineWidgets.
JulianGro May 29, 2026
35c90ee
Update conanfile.py
JulianGro May 29, 2026
3aa2988
Update action.yml and BUILD_WIN.md
JulianGro May 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions .github/actions/conan-install/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,6 @@ runs:
run: |
# Run twice to work around OpenSSL not being found. See: https://github.com/overte-org/overte-conan-recipes/issues/1
# `--format=json > build.json` creates a graph of dependencies, which can later be used to check for cache misses.
conan install . -s compiler.cppstd=${{ inputs.cppstd }} -s build_type=${{ inputs.build_type }} -o 'Overte/*:qt_source='${{ inputs.qt_source }} -b missing -pr=${{ inputs.conan_profile }} -of build --format=json > build.json
conan install . -s compiler.cppstd=${{ inputs.cppstd }} -s build_type=${{ inputs.build_type }} -o 'Overte/*:qt_source='${{ inputs.qt_source }} -b missing -pr=${{ inputs.conan_profile }} -of build
# `--build="glib/*"` works around https://github.com/conan-io/conan-center-index/issues/17876 by always building glib from source, instead of using the too outdated binary cache on ConanCenter.
conan install . -s compiler.cppstd=${{ inputs.cppstd }} -s build_type=${{ inputs.build_type }} -o 'Overte/*:qt_source='${{ inputs.qt_source }} -b missing --build="glib/*" -pr=${{ inputs.conan_profile }} -of build --format=json > build.json
conan install . -s compiler.cppstd=${{ inputs.cppstd }} -s build_type=${{ inputs.build_type }} -o 'Overte/*:qt_source='${{ inputs.qt_source }} -b missing --build="glib/*" -pr=${{ inputs.conan_profile }} -of build
3 changes: 2 additions & 1 deletion .github/actions/setup-windows/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ runs:
- name: Set environment variables
shell: bash
run: |
if [[ "${{ matrix.os }}" = "Windows 2022" ]]; then
if [[ "${{ matrix.os }}" = "Windows 2022"* ]]; then
echo "CONAN_PROFILE='./tools/conan-profiles/vs-22-release'" >> $GITHUB_ENV
else
echo "Not sure which Conan profile to use. Exiting." && exit 1
Expand All @@ -27,6 +27,7 @@ runs:
run: |
choco install nsis --allow-downgrade --version=3.06.1
choco install cmake --allow-downgrade --version=3.31.6 # Our dependencies don't support CMake 4.0 yet.
choco install nodejs --version="24.16.0" # Qt6 needs NodeJS for building Qt WebEngine, but cannot find preinstalled NodeJS.
Invoke-WebRequest https://build-deps.overte.org/conan/nsis-overte-plugins/NSIS-hifi-plugins-1.0.zip -OutFile NSIS-hifi-plugins.zip
Expand-Archive -LiteralPath 'NSIS-hifi-plugins.zip' -DestinationPath 'C:/Program Files (x86)/'

Expand Down
63 changes: 38 additions & 25 deletions .github/workflows/pr_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,49 +30,62 @@ jobs:
strategy:
matrix:
include:
- os: Windows 2022
- os: Windows 2022 Source
# We use a third-party runner hosted by depot.dev to avoid timing out in case Qt has to be built from source.
runner: depot-windows-2022-16 # Which GitHub Actions Runner to use. When using `image` this just needs to run the build container.
arch: x86_64
build_type: full
qt_source: source # Which Qt Conan package to use. `system`, `source`, or `aqt`.
rendering_backend: OpenGL # Which OVERTE_RENDERING_BACKEND to build.
- os: Windows 2022 AQt
runner: depot-windows-2022-16
arch: x86_64
build_type: full
qt_source: aqt
rendering_backend: OpenGL
#- os: macOS-10.15
# build_type: full
# qt_source: aqt
- os: Ubuntu 22.04 OpenGL
- os: Ubuntu 22.04 OpenGL Source
image: docker.io/overte/overte-full-build:2026-02-09-ubuntu-22.04-amd64 # Container image used for building. Built from /tools/ci-script/linux-ci/Dockerfile_x
runner: ubuntu-latest
runner: depot-ubuntu-24.04-16
arch: amd64
build_type: full
qt_source: system
qt_source: source
rendering_backend: OpenGL
- os: Ubuntu 22.04 Vulkan
image: docker.io/overte/overte-full-build:2026-02-09-ubuntu-22.04-amd64
runner: ubuntu-latest
arch: amd64
build_type: full
qt_source: system
rendering_backend: Vulkan
# - os: Ubuntu 22.04 OpenGL system package
# image: docker.io/overte/overte-full-build:2026-02-09-ubuntu-22.04-amd64 # Container image used for building. Built from /tools/ci-script/linux-ci/Dockerfile_x
# runner: depot-ubuntu-24.04-16
# arch: amd64
# build_type: full
# qt_source: system
# rendering_backend: OpenGL
# - os: Ubuntu 22.04 Vulkan
# image: docker.io/overte/overte-full-build:2026-02-09-ubuntu-22.04-amd64
# runner: ubuntu-latest
# arch: amd64
# build_type: full
# qt_source: system
# rendering_backend: Vulkan
# Android builds are currently failing
#- os: ubuntu-18.04
# build_type: android
# apt-dependencies: mesa-common-dev libegl1 libglvnd-dev libdouble-conversion1 libpulse0 python3-github python3-distro
# Do not change the names of self-hosted runners without knowing what you are doing, as they correspond to labels that have to be set on the runner.
- os: Ubuntu 22.04 OpenGL
image: docker.io/overte/overte-full-build:2026-02-09-ubuntu-22.04-aarch64
runner: ubuntu-24.04-arm
arch: aarch64
build_type: full
qt_source: system
rendering_backend: OpenGL
- os: Ubuntu 22.04 Vulkan
image: docker.io/overte/overte-full-build:2026-02-09-ubuntu-22.04-aarch64
runner: ubuntu-24.04-arm
arch: aarch64
build_type: full
qt_source: system
rendering_backend: Vulkan
# - os: Ubuntu 22.04 OpenGL
# image: docker.io/overte/overte-full-build:2026-02-09-ubuntu-22.04-aarch64
# runner: ubuntu-24.04-arm
# arch: aarch64
# build_type: full
# qt_source: source
# rendering_backend: OpenGL
# - os: Ubuntu 22.04 Vulkan
# image: docker.io/overte/overte-full-build:2026-02-09-ubuntu-22.04-aarch64
# runner: ubuntu-24.04-arm
# arch: aarch64
# build_type: full
# qt_source: system
# rendering_backend: Vulkan
fail-fast: false
runs-on: ${{matrix.runner}}
container: ${{matrix.image}}
Expand Down
7 changes: 5 additions & 2 deletions BUILD_WIN.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,13 @@ To create this variable:

*Make sure that you copy the contents of your old `.conan2` folder over, or that you add the remote from step 2 again.*

## Step 6. (Optional) Node.JS and NPM
## Step 6. Installing Node.JS and NPM

Install the latest LTS version of [Node.JS and NPM](<https://nodejs.org/en/download/>).
This is required to build the server-console and jsdoc, and for JavaScript console autocompletion.
All of these components are optional, however, Node.JS is also required for building Qt WebEngine.

There are no proper Windows installers for Node.JS and NPM, so install it from [Chocolatey](https://community.chocolatey.org/).

## Step 7. Running CMake to Generate Build Files

Expand Down Expand Up @@ -188,4 +191,4 @@ To fix this, install "C++ vXX.XX (...) ATL (...)" replacing XX.XX with the first
### `warning : cannot resolve item 'api-ms-win-(...)-l1-1-0.dll'`

You may be able to ignore this warning. My assumption is that the MSVC version used is incompatible with the currently installed Windows SDK,
and Overte will just use the newer SDK during runtime.
and Overte will just use the newer SDK during runtime.
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ if (ANDROID)
add_definitions(-DANDROID_APP_INTERFACE)
endif()
else ()
set(PLATFORM_QT_COMPONENTS WebEngine Xml)
set(PLATFORM_QT_COMPONENTS WebEngineCore Xml)
add_definitions(-DHAVE_EXT_clip_cull_distance)
endif()

Expand All @@ -160,7 +160,7 @@ else()
endif()

foreach(PLATFORM_QT_COMPONENT ${PLATFORM_QT_COMPONENTS})
list(APPEND PLATFORM_QT_LIBRARIES "Qt5::${PLATFORM_QT_COMPONENT}")
list(APPEND PLATFORM_QT_LIBRARIES "Qt6::${PLATFORM_QT_COMPONENT}")
endforeach()

message(STATUS "Use optimized IK: " ${OVERTE_USE_OPTIMIZED_IK})
Expand Down
2 changes: 1 addition & 1 deletion android/apps/framePlayer/src/main/cpp/qml/main.qml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import QtQuick 2.2
import QtQuick.Dialogs 1.1
import QtQuick.Dialogs
import Qt.labs.folderlistmodel 2.11

Item {
Expand Down
2 changes: 1 addition & 1 deletion android/apps/interface/src/main/cpp/native.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -407,7 +407,7 @@ Java_io_highfidelity_hifiinterface_fragment_LoginFragment_retrieveAccessToken(JN

QMetaObject::invokeMethod(accountManager.data(), "requestAccessTokenWithAuthCode",
Q_ARG(const QString&, authCode), Q_ARG(const QString&, clientId),
Q_ARG(const QString&, clientSecret), Q_ARG(const QString&, redirectUri));
Q_GENERIC_ARG(const QString&, clientSecret), Q_GENERIC_ARG(const QString&, redirectUri));

}

Expand Down
2 changes: 1 addition & 1 deletion assignment-client/src/Agent.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -753,7 +753,7 @@ void Agent::processAgentAvatarAudio() {
if (_numAvatarSoundSentBytes == (int)audioData->getNumBytes()) {
// we're done with this sound object - so set our pointer back to NULL
// and our sent bytes back to zero
_avatarSound.clear();
_avatarSound.reset();
_numAvatarSoundSentBytes = 0;
_flushEncoder = true;

Expand Down
2 changes: 1 addition & 1 deletion assignment-client/src/AgentScriptingInterface.h
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ public slots:
* }, 1000);
* }());
*/
void playAvatarSound(SharedSoundPointer avatarSound) const { _agent->playAvatarSound(avatarSound); }
void playAvatarSound(std::shared_ptr<Sound> avatarSound) const { _agent->playAvatarSound(avatarSound); }

private:
Agent* _agent;
Expand Down
3 changes: 2 additions & 1 deletion assignment-client/src/AssignmentClientMonitor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,8 @@ void AssignmentClientMonitor::spawnChildClient() {

void AssignmentClientMonitor::checkSpares() {
auto nodeList = DependencyManager::get<NodeList>();
QUuid aSpareId = "";
// QT6TODO: it was originally composed for empty QString, is it null UUID?
QUuid aSpareId {};
unsigned int spareCount = 0;
unsigned int totalCount = 0;

Expand Down
3 changes: 2 additions & 1 deletion assignment-client/src/assets/AssetServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include <QtGui/QImageReader>
#include <QtCore/QVector>
#include <QtCore/QUrlQuery>
#include <QtCore5Compat/QRegExp>

#include <ClientServerUtils.h>
#include <NodeType.h>
Expand Down Expand Up @@ -434,7 +435,7 @@ void AssetServer::completeSetup() {
// Check the asset directory to output some information about what we have
auto files = _filesDirectory.entryList(QDir::Files);

QRegExp hashFileRegex { AssetUtils::ASSET_HASH_REGEX_STRING };
QRegularExpression hashFileRegex { AssetUtils::ASSET_HASH_REGEX_STRING };
auto hashedFiles = files.filter(hashFileRegex);

qCInfo(asset_server) << "There are" << hashedFiles.size() << "asset files in the asset directory.";
Expand Down
6 changes: 3 additions & 3 deletions assignment-client/src/avatars/ScriptableAvatar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,14 @@ void ScriptableAvatar::stopAnimation() {
QMetaObject::invokeMethod(this, "stopAnimation");
return;
}
_animation.clear();
_animation.reset();
}

AnimationDetails ScriptableAvatar::getAnimationDetails() {
if (QThread::currentThread() != thread()) {
AnimationDetails result;
BLOCKING_INVOKE_METHOD(this, "getAnimationDetails",
Q_RETURN_ARG(AnimationDetails, result));
Q_GENERIC_RETURN_ARG(AnimationDetails, result));
return result;
}
return _animationDetails;
Expand Down Expand Up @@ -222,7 +222,7 @@ void ScriptableAvatar::update(float deltatime) {
}

} else {
_animation.clear();
_animation.reset();
}
}
}
Expand Down
8 changes: 4 additions & 4 deletions assignment-client/src/octree/OctreeHeadlessViewer.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,14 @@ public slots:
* @function EntityViewer.setPosition
* @param {Vec3} position - The position of the view frustum.
*/
void setPosition(const glm::vec3& position) { _hasViewFrustum = true; _viewFrustum.setPosition(position); }
void setPosition(const glm::vec<3,float,glm::packed_highp>& position) { _hasViewFrustum = true; _viewFrustum.setPosition(position); }

/*@jsdoc
* Sets the orientation of the view frustum.
* @function EntityViewer.setOrientation
* @param {Quat} orientation - The orientation of the view frustum.
*/
void setOrientation(const glm::quat& orientation) { _hasViewFrustum = true; _viewFrustum.setOrientation(orientation); }
void setOrientation(const glm::qua<float,glm::packed_highp>& orientation) { _hasViewFrustum = true; _viewFrustum.setOrientation(orientation); }

/*@jsdoc
* Sets the radius of the center "keyhole" in the view frustum.
Expand Down Expand Up @@ -99,14 +99,14 @@ public slots:
* @function EntityViewer.getPosition
* @returns {Vec3} The position of the view frustum.
*/
const glm::vec3& getPosition() const { return _viewFrustum.getPosition(); }
const glm::vec<3,float,glm::packed_highp>& getPosition() const { return _viewFrustum.getPosition(); }

/*@jsdoc
* Gets the orientation of the view frustum.
* @function EntityViewer.getOrientation
* @returns {Quat} The orientation of the view frustum.
*/
const glm::quat& getOrientation() const { return _viewFrustum.getOrientation(); }
const glm::qua<float,glm::packed_highp>& getOrientation() const { return _viewFrustum.getOrientation(); }


// getters for LOD and PPS
Expand Down
6 changes: 3 additions & 3 deletions cmake/macros/MemoryDebugger.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ if (OVERTE_MEMORY_DEBUGGING)
# usr/bin/ld: ../../libraries/audio/libaudio.so: undefined reference to `FIR_1x4_AVX512(float*, float*, float*, float*, float*, float (*) [64], int)'
# The '-DSTACK_PROTECTOR' argument below disables the usage of this function in the code. This should be fine as it only works on the latest Intel hardware,
# and is an optimization that should make no functional difference.
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize=leak -U_FORTIFY_SOURCE -DSTACK_PROTECTOR -fstack-protector-strong -fno-omit-frame-pointer")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize=leak")
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize=leak")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize=leak -U_FORTIFY_SOURCE -DSTACK_PROTECTOR -fstack-protector-strong -fno-omit-frame-pointer -fsanitize-recover=address")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize=leak -fsanitize-recover=address")
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize=leak -fsanitize-recover=address")
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
# https://docs.microsoft.com/en-us/cpp/sanitizers/asan?view=msvc-160
# Supported experimentally starting from VS2019 v16.4, and officially from v16.9.
Expand Down
4 changes: 2 additions & 2 deletions cmake/macros/PackageLibrariesForDeployment.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ macro(PACKAGE_LIBRARIES_FOR_DEPLOYMENT)
if (WIN32)
set(PLUGIN_PATH "plugins")

get_target_property(Qt_Core_Location Qt5::Core LOCATION)
get_target_property(Qt_Core_Location Qt6::Core LOCATION)
get_filename_component(QT_BIN_DIR ${Qt_Core_Location} DIRECTORY)
find_program(WINDEPLOYQT_COMMAND windeployqt PATHS ${QT_BIN_DIR})

Expand All @@ -23,7 +23,7 @@ macro(PACKAGE_LIBRARIES_FOR_DEPLOYMENT)
endif ()

# add a post-build command to call windeployqt to copy Qt plugins
set(CMD "${WINDEPLOYQT_COMMAND} ${EXTRA_DEPLOY_OPTIONS} --no-compiler-runtime --no-opengl-sw --no-angle -no-system-d3d-compiler")
set(CMD "${WINDEPLOYQT_COMMAND} ${EXTRA_DEPLOY_OPTIONS} --no-compiler-runtime --no-opengl-sw -no-system-d3d-compiler")

file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/windeploy-${TARGET_NAME}.bat" "${CMD} %*")
add_custom_command(
Expand Down
6 changes: 3 additions & 3 deletions cmake/macros/SetupHifiLibrary.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,13 @@ macro(SETUP_HIFI_LIBRARY)
endif ()

set(${TARGET_NAME}_DEPENDENCY_QT_MODULES ${ARGN})
list(APPEND ${TARGET_NAME}_DEPENDENCY_QT_MODULES Core)
list(APPEND ${TARGET_NAME}_DEPENDENCY_QT_MODULES Core Core5Compat)

# find these Qt modules and link them to our own target
find_package(Qt5 COMPONENTS ${${TARGET_NAME}_DEPENDENCY_QT_MODULES} REQUIRED CMAKE_FIND_ROOT_PATH_BOTH)
find_package(Qt6 COMPONENTS ${${TARGET_NAME}_DEPENDENCY_QT_MODULES} REQUIRED CMAKE_FIND_ROOT_PATH_BOTH)

foreach(QT_MODULE ${${TARGET_NAME}_DEPENDENCY_QT_MODULES})
target_link_libraries(${TARGET_NAME} Qt5::${QT_MODULE})
target_link_libraries(${TARGET_NAME} Qt6::${QT_MODULE})
endforeach()

# Don't make scribed shaders, generated entity files, generated pipelines, or QT resource files cumulative
Expand Down
6 changes: 3 additions & 3 deletions cmake/macros/SetupHifiProject.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ macro(SETUP_HIFI_PROJECT)
target_include_directories(${TARGET_NAME} PRIVATE "${CMAKE_BINARY_DIR}/includes")

set(${TARGET_NAME}_DEPENDENCY_QT_MODULES ${ARGN})
list(APPEND ${TARGET_NAME}_DEPENDENCY_QT_MODULES Core)
list(APPEND ${TARGET_NAME}_DEPENDENCY_QT_MODULES Core Core5Compat)

# find these Qt modules and link them to our own target
find_package(Qt5 COMPONENTS ${${TARGET_NAME}_DEPENDENCY_QT_MODULES} REQUIRED)
find_package(Qt6 COMPONENTS ${${TARGET_NAME}_DEPENDENCY_QT_MODULES} REQUIRED)

# disable /OPT:REF and /OPT:ICF for the Debug builds
# This will prevent the following linker warnings
Expand All @@ -41,7 +41,7 @@ macro(SETUP_HIFI_PROJECT)
endif()

foreach(QT_MODULE ${${TARGET_NAME}_DEPENDENCY_QT_MODULES})
target_link_libraries(${TARGET_NAME} Qt5::${QT_MODULE})
target_link_libraries(${TARGET_NAME} Qt6::${QT_MODULE})
endforeach()
target_link_libraries(${TARGET_NAME} ${CMAKE_THREAD_LIBS_INIT})

Expand Down
4 changes: 2 additions & 2 deletions cmake/macros/SetupHifiTestCase.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,10 @@ macro(SETUP_HIFI_TESTCASE)
list(APPEND ${TARGET_NAME}_DEPENDENCY_QT_MODULES Core Test)

# find these Qt modules and link them to our own target
find_package(Qt5 COMPONENTS ${${TARGET_NAME}_DEPENDENCY_QT_MODULES} REQUIRED)
find_package(Qt6 COMPONENTS ${${TARGET_NAME}_DEPENDENCY_QT_MODULES} REQUIRED)

foreach(QT_MODULE ${${TARGET_NAME}_DEPENDENCY_QT_MODULES})
target_link_libraries(${TARGET_NAME} Qt5::${QT_MODULE})
target_link_libraries(${TARGET_NAME} Qt6::${QT_MODULE})
endforeach()
target_link_libraries(${TARGET_NAME} ${CMAKE_THREAD_LIBS_INIT})

Expand Down
18 changes: 13 additions & 5 deletions cmake/macros/TargetQuazip.cmake
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
#
#
# Copyright 2015 High Fidelity, Inc.
# Copyright 2025 Overte e.V.
# Created by Leonardo Murillo on 2015/11/20
#
# Distributed under the Apache License, Version 2.0.
# See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
#
#
macro(TARGET_QUAZIP)
# System QuaZip sets `IMPORTED_GLOBAL` for itself when finding it using find_package().
# Running find_package() a second time shouldn't do anything, since the package was already found,
# yet it fails with:
# `Attempt to promote imported target "QuaZip::QuaZip" to global scope (by setting IMPORTED_GLOBAL) which is not built in this directory.`
# We avoid this error by guarding against running find_package() multiple times.
if(OVERTE_USE_SYSTEM_LIBS)
find_package(PkgConfig REQUIRED)
pkg_check_modules(QuaZip REQUIRED quazip1-qt5)
pkg_check_modules(QuaZip REQUIRED quazip1-qt6)
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${QuaZip_INCLUDE_DIRS})
target_link_libraries(${TARGET_NAME} ${QuaZip_LINK_LIBRARIES})
else()
find_package(QuaZip-Qt5 REQUIRED)
target_link_libraries(${TARGET_NAME} QuaZip::QuaZip)
if(NOT TARGET QuaZip::QuaZip) # if target doesn't exist.
find_package(QuaZip-Qt6 REQUIRED)
endif()
target_link_libraries(${TARGET_NAME} QuaZip::QuaZip)
endif()
endmacro()
Loading
Loading