qt5base-lts/examples/gui/openglwindow/CMakeLists.txt
Simon Hausmann 6732fa3a29 Fix linking of examples
Provide add_qt_gui_executable() as function in our public API that takes
care of automaticWinMain linkage. We can use this in the future to
encapsulate similarplatform-specific behavior and adjustments, such as
module generation onAndroid.

In order for the examples to see the function in Qt5CoreMacros, three more
additional fixes were required:

    * Do the build_repo_end() call _before_ attempting to build the
      examples, as we need the build_repo_end() to include QtPostProcess
      and complete the creation of all the target config files.
      Otherwise the find_package() calls in the examples see something
      incomplete.

    * Add more QT_NO_CREATE_TARGET guards

    * Always call find_dependency on the dependencies, regardless of the
      target creation mode. This way a find_package(Qt5 COMPONENTS
      Widgets) will still load Qt5CoreMacros.

Change-Id: I03ce856e2f4312a050fe8043b8331cbe8a6c93e6
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-06-12 14:19:34 +00:00

32 lines
715 B
CMake

# Generated from openglwindow.pro.
cmake_minimum_required(VERSION 3.14)
project(openglwindow LANGUAGES CXX)
find_package(Qt5 COMPONENTS Widgets) # special case: add
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(INSTALL_EXAMPLEDIR "examples")
add_qt_gui_executable(openglwindow WIN32 MACOSX_BUNDLE
main.cpp
openglwindow.cpp openglwindow.h
)
target_include_directories(openglwindow PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
# special case begin
target_link_libraries(openglwindow PUBLIC
Qt::Gui
)
# special case end
install(TARGETS openglwindow
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
)