qt5base-lts/examples/sql/masterdetail/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

35 lines
725 B
CMake

# Generated from masterdetail.pro.
cmake_minimum_required(VERSION 3.14)
project(masterdetail LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(INSTALL_EXAMPLEDIR "examples")
find_package(Qt5 COMPONENTS Sql)
find_package(Qt5 COMPONENTS Widgets)
find_package(Qt5 COMPONENTS Xml)
add_qt_gui_executable(masterdetail WIN32 MACOSX_BUNDLE
database.h
dialog.cpp dialog.h
main.cpp
mainwindow.cpp mainwindow.h
masterdetail.qrc
)
target_link_libraries(masterdetail PUBLIC
Qt::Sql
Qt::Widgets
Qt::Xml
)
install(TARGETS masterdetail
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
)