2021-05-22 08:42:05 +00:00
|
|
|
add_library(3rdparty_qt6 INTERFACE)
|
|
|
|
|
2023-11-24 22:36:04 +00:00
|
|
|
set(QT_MIN_VER 6.4.0)
|
2021-05-22 08:42:05 +00:00
|
|
|
|
|
|
|
find_package(Qt6 ${QT_MIN_VER} CONFIG COMPONENTS Widgets Concurrent Multimedia MultimediaWidgets Svg SvgWidgets)
|
|
|
|
if(WIN32)
|
2023-07-28 09:25:18 +00:00
|
|
|
target_link_libraries(3rdparty_qt6 INTERFACE Qt6::Widgets Qt6::Concurrent Qt6::Multimedia Qt6::MultimediaWidgets Qt6::Svg Qt6::SvgWidgets)
|
2021-05-22 08:42:05 +00:00
|
|
|
else()
|
|
|
|
find_package(Qt6 ${QT_MIN_VER} COMPONENTS DBus Gui)
|
|
|
|
if(Qt6DBus_FOUND)
|
|
|
|
target_link_libraries(3rdparty_qt6 INTERFACE Qt6::Widgets Qt6::DBus Qt6::Concurrent Qt6::Multimedia Qt6::MultimediaWidgets Qt6::Svg Qt6::SvgWidgets)
|
|
|
|
target_compile_definitions(3rdparty_qt6 INTERFACE -DHAVE_QTDBUS)
|
|
|
|
else()
|
|
|
|
target_link_libraries(3rdparty_qt6 INTERFACE Qt6::Widgets Qt6::Concurrent Qt6::Multimedia Qt6::MultimediaWidgets Qt6::Svg Qt6::SvgWidgets)
|
|
|
|
endif()
|
|
|
|
target_include_directories(3rdparty_qt6 INTERFACE ${Qt6Gui_PRIVATE_INCLUDE_DIRS})
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(Qt6Widgets_FOUND)
|
|
|
|
if(Qt6Widgets_VERSION VERSION_LESS ${QT_MIN_VER})
|
|
|
|
message("Minimum supported Qt version is ${QT_MIN_VER}! You have version ${Qt6Widgets_VERSION} installed, please upgrade!")
|
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
|
|
message(FATAL_ERROR "Most distros do not provide an up-to-date version of Qt.
|
|
|
|
If you're on Ubuntu or Linux Mint, there are PPAs you can use to install one of the latest qt6 versions.
|
|
|
|
Find the correct ppa at https://launchpad.net/~beineri and follow the instructions.")
|
|
|
|
elseif(WIN32)
|
|
|
|
message(FATAL_ERROR "You can download the latest version of Qt6 here: https://www.qt.io/download-open-source/")
|
|
|
|
else()
|
|
|
|
message(FATAL_ERROR "Look online for instructions on installing an up-to-date Qt6 on ${CMAKE_SYSTEM}.")
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
else()
|
|
|
|
message("CMake was unable to find Qt6!")
|
|
|
|
if(WIN32)
|
|
|
|
message(FATAL_ERROR "Make sure the QTDIR env variable has been set properly. (for example C:\\Qt\\${QT_MIN_VER}\\msvc2019_64\\)
|
|
|
|
You can also try setting the Qt6_DIR preprocessor definiton.")
|
|
|
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
|
|
message(FATAL_ERROR "Make sure to install your distro's qt6 package!")
|
|
|
|
else()
|
|
|
|
message(FATAL_ERROR "You need to have Qt6 installed, look online for instructions on installing Qt6 on ${CMAKE_SYSTEM}.")
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
|
|
|
add_library(3rdparty::qt6 ALIAS 3rdparty_qt6)
|