-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Add better Qt5 detection #4067
base: master
Are you sure you want to change the base?
Add better Qt5 detection #4067
Conversation
@tresf What's the status of this PR? |
Stalled. 😄 Seriously though:
I don't have the time to dedicate to this right now, but the code is good, even if as a reference point for someone else to run with hit. |
# Conflicts: # CMakeLists.txt
🤖 Hey, I'm @LmmsBot from github.com/lmms/bot and I made downloads for this pull request, click me to make them magically appear! 🎩
Linux
Windows
macOS🤖{"platform_name_to_artifacts": {"Linux": [{"artifact": {"title": {"title": "(AppImage)", "platform_name": "Linux"}, "link": {"link": "https://output.circle-artifacts.com/output/job/a6b6904b-21fa-41ef-9531-b93d53fd7553/artifacts/0/lmms-1.3.0-alpha.1.225+g9caf35e64-linux-x86_64.AppImage"}}, "build_link": "https://circleci.com/gh/LMMS/lmms/17853?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link"}], "Windows": [{"artifact": {"title": {"title": "32-bit", "platform_name": "Windows"}, "link": {"link": "https://output.circle-artifacts.com/output/job/2b65ef87-bb1e-4b0b-a4df-bb6e01616a55/artifacts/0/lmms-1.3.0-alpha.1.225+g9caf35e64-mingw-win32.exe"}}, "build_link": "https://circleci.com/gh/LMMS/lmms/17852?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link"}, {"artifact": {"title": {"title": "64-bit", "platform_name": "Windows"}, "link": {"link": "https://output.circle-artifacts.com/output/job/e07bd744-6539-4de2-ab75-497d4e00f022/artifacts/0/lmms-1.3.0-alpha.1.225+g9caf35e64-mingw-win64.exe"}}, "build_link": "https://circleci.com/gh/LMMS/lmms/17855?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link"}, {"artifact": {"title": {"title": "32-bit", "platform_name": "Windows"}, "link": {"link": "https://ci.appveyor.com/api/buildjobs/3vxmr46kc8ctjmbk/artifacts/build/lmms-1.3.0-alpha-msvc2017-win32.exe"}}, "build_link": "https://ci.appveyor.com/project/Lukas-W/lmms/builds/44323790"}, {"artifact": {"title": {"title": "64-bit", "platform_name": "Windows"}, "link": {"link": "https://ci.appveyor.com/api/buildjobs/9yevxhlnb8vmwib0/artifacts/build/lmms-1.3.0-alpha-msvc2017-win64.exe"}}, "build_link": "https://ci.appveyor.com/project/Lukas-W/lmms/builds/44323790"}], "macOS": [{"artifact": {"title": {"title": "", "platform_name": "macOS"}, "link": {"link": "https://output.circle-artifacts.com/output/job/16d19b1c-6cac-4d7f-9488-7f7f9dc132a4/artifacts/0/lmms-1.3.0-alpha.1.225+g9caf35e64-mac10.14.dmg"}}, "build_link": "https://circleci.com/gh/LMMS/lmms/17851?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link"}]}, "commit_sha": "25cb65ac5188df2da27127705b68d1736621f539"} |
@tresf is there anything of use here anymore? |
This is now even harder, MSVC 2022 is not available for qt5 and we use MSVC 2019 qt for compiling on 2022. So we need another attempt here. I can help with windows stuff. |
If the question is whether or not this will be merged, the answer is "probably not". I came back to this last week and decided that it's due for a refactor, especially for Qt6. |
Making a cmake project with Qt5 dependencies can vary in difficulty depending on how Qt5 was obtained.
For example:
apt
ordnf
, but it's also quite common to install Qt5 manually into/opt/
.homebrew
ormacports
however it is also fairly common to install from the QtCreator desktop installer.What this PR aims to do is allow
cmake ..
to find Qt5 without a hassle on the most common build environments. This means the average developer should never need to typebrew --prefix qt5
orexport CMAKE_PREFIX_PATH=/path/to/qt5
again, although that "normal" technique will still remain to be supported.Usage
Progress
FindQt5Linux.cmake
FindQt5Linux.cmake
FindQt5Linux.cmake
FindQt5Windows.cmake
FindQt5Windows.cmake
FindQt5Apple.cmake
FindQt5Apple.cmake
FindQt5Apple.cmake
Additional Modules
Some detection techniques include parsing of command output (e.g.
EXECUTE_PROCESS(...)
), so an additional module has been addedEnglishLocale.cmake
.Usage:
This PR is a work in progress and should be merged once the most common platforms have been completed.