qt5base-lts/tests/CMakeLists.txt
Simon Hausmann 38cd18384f Fix OpenGL vs. GLESv2 linkage, attempt number three
We introduced WrapOpenGL to link against either desktop GL or GLESv2
depending on the GL feature in QtGui. This works "fine", with two
caveats:

    (1) find_package(WrapOpenGL) must be called after
    find_package(Qt5Gui) in order for the feature check in
    FindWrapOpenGL.cmake to work. That's error prone.

    (2) More and more places are popping up, in particular examples,
    where GL linkage is required due to inline functions in Qt that
    forward to GL functions - such as on Android.

    This in particular explains the qmake behavior of making the GL
    linkage (desktop _or_ GLES) a public dependency of QtGui, so only
    Gui linkage is required.

Those two aspects combined are the nail in the coffin of FindWrapOpenGL
and it would seem much easier to simply make the Desktop GL vs. GLES
decision once in Gui's CMakeLists.txt and let Qt5GuiDependencies.cmake
propagate this well. This allows us to get rid of plenty of special
cases as well.

Change-Id: I3a7e8af49537ce5f215f24470e075a4ae9aeb944
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-06-05 09:38:02 +00:00

16 lines
525 B
CMake

# special case begin
if(NOT TARGET Qt::Test)
cmake_minimum_required(VERSION 3.14.0)
project(QtBaseTests C CXX ASM)
find_package(Qt5 REQUIRED COMPONENTS BuildInternals Core Test)
find_package(Qt5 COMPONENTS DBus Gui OpenGL Widgets Xml)
qt_set_up_standalone_tests_build()
# Find a few packages that are usually found in configure.cmake,
# because a few tests link directly against those libraries.
qt_find_package(WrapDBus1 PROVIDED_TARGETS dbus-1)
endif()
# special case end
qt_build_tests()