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

Consider using CMake (or other methods) to look up Qt paths instead of qmake #156

Open
mdear opened this issue Feb 14, 2024 · 5 comments
Open

Comments

@mdear
Copy link

mdear commented Feb 14, 2024

Do you have plans to support cmake internally for Qt-6 and beyond, given the details below?

User
I need a version of qmake that is compatible with Qt-6 and runs on aarch64 arm architecture.

ChatGPT
As of my last update in April 2023, Qt 6 is fully supported on various platforms, including ARM architectures like aarch64. However, starting from Qt 6, the build system has transitioned from qmake to CMake as the primary method for configuring and building Qt applications and libraries. This means that while you can still find qmake included with some Qt 6 versions for compatibility reasons with older projects, the focus and recommendation for new projects is to use CMake.

Getting Qt 6 for aarch64
To get a version of Qt 6 that runs on aarch64 (ARM64), you have a few options:

Official Qt Downloads: The Qt Company provides precompiled binaries for various platforms through the Qt installer and on the Qt website. While ARM64 builds are not always directly listed as precompiled binaries for desktop environments, they are available for embedded and mobile platforms. You can check the official Qt website or the Qt Maintenance Tool if you have a commercial license.

Building from Source: If precompiled binaries for your specific platform are not available, you can compile Qt 6 from source for the aarch64 architecture. This is a common approach for
Linux distributions running on ARM64 hardware. The Qt documentation provides detailed instructions on how to build Qt from source.

Package Managers: Depending on your operating system, Qt 6 might be available through your package manager. For example, Linux distributions like Ubuntu, Fedora, and others often have Qt packages available for installation. These packages are typically compiled for all supported architectures, including aarch64.

Using qmake with Qt 6
If you specifically need qmake for a project on Qt 6:

Check Your Qt Installation: If you've installed Qt 6, check your installation directory for qmake. It might still be included, especially in earlier Qt 6 versions.

Compatibility: Keep in mind that while qmake is included for compatibility, not all new features of Qt 6 are fully supported with qmake. It's recommended to migrate to CMake for projects that will be actively developed and maintained.

Installation: If you're installing Qt 6 from source, you can ensure qmake is included by not explicitly disabling it during the configuration step. However, the focus should be on CMake for the most part.

Migrating to CMake
If you're starting a new project or looking to migrate an existing project from qmake to CMake, the Qt documentation provides guides and tutorials on how to do this. CMake is a powerful build system that is widely supported and offers more features and flexibility than qmake, especially for cross-platform projects.

In summary, while qmake is still around for Qt 6 projects, the shift towards CMake means that new projects should ideally start with CMake, and existing projects should consider migrating to take full advantage of the new features and improvements in Qt 6.

@vadi2
Copy link

vadi2 commented Feb 14, 2024

What concrete issues are you running into @mdear?

@bjorn
Copy link
Contributor

bjorn commented Feb 14, 2024

Your project does not need to use qmake for using this tool, so I think this issue is completely irrelevant. Besides the fact that qmake still works fine with Qt 6...

@mdear
Copy link
Author

mdear commented Feb 17, 2024

I am relying on the linuxdeploy-qt plugin, which does apparently require qmake. This issue is a placeholder, I am not experiencing any specific problem, but I have seen Qt documentation saying that not all Qt6 features will work under qmake. Qt is recommending users move to cmake.

@bjorn
Copy link
Contributor

bjorn commented Feb 19, 2024

I am relying on the linuxdeploy-qt plugin, which does apparently require qmake.

It just runs qmake -query to query for some Qt paths, to know where to find its libraries, plug-ins and such. The plugin can be compiled using CMake and you can use whatever build system for your own project (personally I use Qbs).

As a placeholder issue for possible future problems, I don't think this is very useful, unless there is an actual alternative for qmake -query that should be used instead. But note that also Qt Creator and Qbs rely on this command.

@TheAssassin
Copy link
Member

This issue should be worded properly. Your concern is that the qmake binary is going to be removed in the future. But at this point, it still exists and works like a charm.

@TheAssassin TheAssassin changed the title cmake support for Qt-6 and beyond ? Consider using CMake (or other methods) to look up Qt paths instead of qmake Apr 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants