rlancaste / stellarsolver

GNU General Public License v3.0
93 stars 47 forks source link

Support for Qt6 #142

Closed sterne-jaeger closed 6 months ago

sterne-jaeger commented 6 months ago

This change adds the option to build stellar solver with the Qt6 framework.

Installation of dependencies for Ubuntu:

sudo snap install kf6-core22
sudo apt-get -y install qt6-base-dev libgl1-mesa-dev libqt6svg6-dev libqt6websockets6-dev qt6-declarative-dev qtkeychain-qt6-dev libqt6datavisualization6-dev

Compiling with Qt6

mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_QT5=Off ..

Qt5 is still the default. If the option -DUSE_QT5=Off is omitted or used as -DUSE_QT5=On, cmake is configured for using Qt5.

Open topics

rlancaste commented 6 months ago

Hi there,

I have been working on a similar thing here: https://github.com/rlancaste/stellarsolver/tree/supportingQT6. I will certainly look at what you have done as well. I haven't merged it yet because I found that there seems to be some issue with QT Concurrent in QT6 that is affecting Star Extraction with partitioning on Windows and MacOS at least. I haven't figured it out yet so I have kept that work in this branch.

rlancaste commented 6 months ago

One difference in our approach seems to be that I made it automatically try to use Qt6 first and if that fails, then require Qt5.

rlancaste commented 6 months ago

Another difference is that I found you could use Qt::Concurrent instead of Qt6 or Qt5 as long as you require that the Qt5 is at least 5.15. In that version it supports dropping the 5.

sterne-jaeger commented 6 months ago

Pull request closed, no need to do this in parallel to @rlancaste .