File tree Expand file tree Collapse file tree 1 file changed +20
-2
lines changed
Expand file tree Collapse file tree 1 file changed +20
-2
lines changed Original file line number Diff line number Diff line change @@ -36,12 +36,30 @@ if (QT_VERSION_MAJOR GREATER_EQUAL 6)
3636 find_package (Qt${QT_VERSION_MAJOR} COMPONENTS Core5Compat OpenGL OpenGLWidgets REQUIRED)
3737endif ()
3838
39- # QtWaylandScanner cmake integration from Qt 6 is used
40- cmake_dependent_option(DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION "Disable all code for Wayland integration." OFF "LINUX; qt_version_6_or_greater" ON )
39+ cmake_dependent_option(DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION "Disable all code for Wayland integration." OFF LINUX ON )
4140
4241if (LINUX)
4342 if (NOT DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION)
4443 find_package (Qt${QT_VERSION_MAJOR} COMPONENTS WaylandClient REQUIRED)
44+
45+ find_package (ECM QUIET )
46+ if (ECM_FOUND)
47+ list (PREPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH} )
48+ endif ()
49+ if (QT_VERSION_MAJOR GREATER_EQUAL 5)
50+ find_package (QtWaylandScanner REQUIRED)
51+
52+ # Imitate QtWayland's generator function by means of extra CMake modules.
53+ function (qt_generate_wayland_protocol_client_sources target )
54+ cmake_parse_arguments (GEN "" "" FILES ${ARGN} )
55+ foreach (xmldef ${GEN_FILES} )
56+ get_filename_component (base ${xmldef} NAME_WE )
57+ ecm_add_qtwayland_client_protocol(generated PROTOCOL ${xmldef} BASENAME ${base} )
58+ endforeach ()
59+ target_sources (${target} PRIVATE ${generated} )
60+ target_include_directories (${target} PRIVATE ${CMAKE_CURRENT_BINARY_DIR} )
61+ endfunction ()
62+ endif ()
4563 endif ()
4664
4765 if ((NOT DESKTOP_APP_USE_PACKAGED
You can’t perform that action at this time.
0 commit comments