From ea6434d6d4ebe77ef650ae54cdeb6d173d6860c8 Mon Sep 17 00:00:00 2001 From: WarmUpTill <19472752+WarmUpTill@users.noreply.github.com> Date: Wed, 16 Oct 2024 14:13:32 +0200 Subject: [PATCH] cmake: Replace find_qt with find_package --- .cmake-format.json | 9 ---- CMakeLists.txt | 6 +-- cmake/common/advss_helpers.cmake | 2 +- cmake/common/helpers_common.cmake | 79 ------------------------------- 4 files changed, 4 insertions(+), 92 deletions(-) diff --git a/.cmake-format.json b/.cmake-format.json index 67919c2cf..d330571cd 100644 --- a/.cmake-format.json +++ b/.cmake-format.json @@ -6,15 +6,6 @@ "autosort": true }, "additional_commands": { - "find_qt": { - "flags": [], - "kwargs": { - "COMPONENTS": "+", - "COMPONENTS_WIN": "+", - "COMPONENTS_MACOS": "+", - "COMPONENTS_LINUX": "+" - } - }, "set_target_properties_obs": { "pargs": 1, "flags": [], diff --git a/CMakeLists.txt b/CMakeLists.txt index fd742099d..eba154da4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -287,9 +287,9 @@ include(cmake/common/advss_helpers.cmake) setup_obs_lib_dependency(${LIB_NAME}) setup_obs_lib_dependency(${PROJECT_NAME}) -find_qt(COMPONENTS Widgets Core) -target_link_libraries(${PROJECT_NAME} PRIVATE Qt::Core Qt::Widgets) -target_link_libraries(${LIB_NAME} PRIVATE Qt::Core Qt::Widgets) +find_package(Qt6 COMPONENTS Widgets Core) +target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Widgets) +target_link_libraries(${LIB_NAME} PRIVATE Qt6::Core Qt6::Widgets) target_compile_options( ${PROJECT_NAME} PRIVATE diff --git a/cmake/common/advss_helpers.cmake b/cmake/common/advss_helpers.cmake index ff7161636..5ff1caefe 100644 --- a/cmake/common/advss_helpers.cmake +++ b/cmake/common/advss_helpers.cmake @@ -284,7 +284,7 @@ endfunction() function(setup_advss_plugin target) setup_obs_lib_dependency(${target}) find_qt(COMPONENTS Widgets Core) - target_link_libraries(${target} PRIVATE Qt::Core Qt::Widgets) + target_link_libraries(${target} PRIVATE Qt6::Core Qt6::Widgets) set_target_properties( ${target} diff --git a/cmake/common/helpers_common.cmake b/cmake/common/helpers_common.cmake index bdcdc471a..a267bc80e 100644 --- a/cmake/common/helpers_common.cmake +++ b/cmake/common/helpers_common.cmake @@ -17,85 +17,6 @@ if(NOT QT_VERSION) set_property(CACHE QT_VERSION PROPERTY STRINGS AUTO 5 6) endif() -# find_qt: Macro to find best possible Qt version for use with the project: -macro(find_qt) - set(multiValueArgs COMPONENTS COMPONENTS_WIN COMPONENTS_MAC COMPONENTS_LINUX) - cmake_parse_arguments(find_qt "" "${oneValueArgs}" "${multiValueArgs}" - ${ARGN}) - - # Do not use versionless targets in the first step to avoid Qt::Core being - # clobbered by later opportunistic find_package runs - set(QT_NO_CREATE_VERSIONLESS_TARGETS TRUE) - - message(DEBUG "Start Qt version discovery...") - # Loop until _QT_VERSION is set or FATAL_ERROR aborts script execution early - while(NOT _QT_VERSION) - message(DEBUG "QT_VERSION set to ${QT_VERSION}") - if(QT_VERSION STREQUAL AUTO AND NOT qt_test_version) - set(qt_test_version 6) - elseif(NOT QT_VERSION STREQUAL AUTO) - set(qt_test_version ${QT_VERSION}) - endif() - message(DEBUG "Attempting to find Qt${qt_test_version}") - - find_package( - Qt${qt_test_version} - COMPONENTS Core - QUIET) - - if(TARGET Qt${qt_test_version}::Core) - set(_QT_VERSION - ${qt_test_version} - CACHE INTERNAL "") - message(STATUS "Qt version found: ${_QT_VERSION}") - unset(qt_test_version) - break() - elseif(QT_VERSION STREQUAL AUTO) - if(qt_test_version EQUAL 6) - message(WARNING "Qt6 was not found, falling back to Qt5") - set(qt_test_version 5) - continue() - endif() - endif() - message(FATAL_ERROR "Neither Qt6 nor Qt5 found.") - endwhile() - - # Enable versionless targets for the remaining Qt components - set(QT_NO_CREATE_VERSIONLESS_TARGETS FALSE) - - set(qt_components ${find_qt_COMPONENTS}) - if(OS_WINDOWS) - list(APPEND qt_components ${find_qt_COMPONENTS_WIN}) - elseif(OS_MACOS) - list(APPEND qt_components ${find_qt_COMPONENTS_MAC}) - else() - list(APPEND qt_components ${find_qt_COMPONENTS_LINUX}) - endif() - message(DEBUG "Trying to find Qt components ${qt_components}...") - - find_package(Qt${_QT_VERSION} REQUIRED ${qt_components}) - - list(APPEND qt_components Core) - - if("Gui" IN_LIST find_qt_COMPONENTS_LINUX) - list(APPEND qt_components "GuiPrivate") - endif() - - # Check for versionless targets of each requested component and create if - # necessary - foreach(component IN LISTS qt_components) - message(DEBUG "Checking for target Qt::${component}") - if(NOT TARGET Qt::${component} AND TARGET Qt${_QT_VERSION}::${component}) - add_library(Qt::${component} INTERFACE IMPORTED) - set_target_properties( - Qt::${component} PROPERTIES INTERFACE_LINK_LIBRARIES - Qt${_QT_VERSION}::${component}) - endif() - set_property(TARGET Qt::${component} PROPERTY INTERFACE_COMPILE_FEATURES "") - endforeach() - -endmacro() - # check_uuid: Helper function to check for valid UUID function(check_uuid uuid_string return_value) set(valid_uuid TRUE)