From 99539a289491a2a709c2a63cd91eac155a1699da Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Tue, 4 Jun 2019 17:08:47 +0200 Subject: Allow to build examples as standalone project Create CMake config files which can be used from the very same CMake project. These CMake config files simply do not create any targets, controlled via the QT_NO_CREATE_TARGETS. This patch also allows to build qtbase.git:examples as a standalone project, against an already-built Qt. Ran this: ag -s "QT " examples -l -0 | xargs -0 -n 1 .../util/cmake/pro2cmake.py --is-example Task-number: QTBUG-74713 Change-Id: I44cce5a4048618b30f890c5b789592c227a8b47d Reviewed-by: Alexandru Croitor --- .../widgets/dialogs/classwizard/CMakeLists.txt | 44 +++++++++++----------- examples/widgets/dialogs/extension/CMakeLists.txt | 35 +++++++++++------ examples/widgets/dialogs/findfiles/CMakeLists.txt | 35 +++++++++++------ .../widgets/dialogs/licensewizard/CMakeLists.txt | 42 ++++++++++++--------- .../widgets/dialogs/standarddialogs/CMakeLists.txt | 35 +++++++++++------ examples/widgets/dialogs/tabdialog/CMakeLists.txt | 35 +++++++++++------ .../widgets/dialogs/trivialwizard/CMakeLists.txt | 35 +++++++++++------ 7 files changed, 161 insertions(+), 100 deletions(-) (limited to 'examples/widgets/dialogs') diff --git a/examples/widgets/dialogs/classwizard/CMakeLists.txt b/examples/widgets/dialogs/classwizard/CMakeLists.txt index 6d1cf9bab8..1c9ecebcee 100644 --- a/examples/widgets/dialogs/classwizard/CMakeLists.txt +++ b/examples/widgets/dialogs/classwizard/CMakeLists.txt @@ -1,27 +1,27 @@ # Generated from classwizard.pro. -##################################################################### -## classwizard Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(classwizard LANGUAGES CXX) -add_qt_executable(classwizard - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/dialogs/classwizard" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/dialogs/classwizard" - SOURCES - classwizard.cpp classwizard.h - main.cpp - LIBRARIES - Qt::Widgets -) +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -# Resources: -add_qt_resource(classwizard "classwizard" FILES - images/background.png - images/banner.png - images/logo1.png - images/logo2.png - images/logo3.png - images/watermark1.png - images/watermark2.png) +set(INSTALL_EXAMPLEDIR "examples") +find_package(Qt5 COMPONENTS Widgets) + +add_executable(classwizard WIN32 MACOSX_BUNDLE + classwizard.cpp classwizard.h classwizard.qrc + main.cpp +) +target_link_libraries(classwizard PUBLIC + Qt::Widgets +) + +install(TARGETS classwizard + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/widgets/dialogs/extension/CMakeLists.txt b/examples/widgets/dialogs/extension/CMakeLists.txt index 400cf23989..8037d670d9 100644 --- a/examples/widgets/dialogs/extension/CMakeLists.txt +++ b/examples/widgets/dialogs/extension/CMakeLists.txt @@ -1,16 +1,27 @@ # Generated from extension.pro. -##################################################################### -## extension Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(extension LANGUAGES CXX) -add_qt_executable(extension - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/dialogs/extension" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/dialogs/extension" - SOURCES - finddialog.cpp finddialog.h - main.cpp - LIBRARIES - Qt::Widgets +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 Widgets) + +add_executable(extension WIN32 MACOSX_BUNDLE + finddialog.cpp finddialog.h + main.cpp +) +target_link_libraries(extension PUBLIC + Qt::Widgets +) + +install(TARGETS extension + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" ) diff --git a/examples/widgets/dialogs/findfiles/CMakeLists.txt b/examples/widgets/dialogs/findfiles/CMakeLists.txt index 26442a71b1..11e971b7f2 100644 --- a/examples/widgets/dialogs/findfiles/CMakeLists.txt +++ b/examples/widgets/dialogs/findfiles/CMakeLists.txt @@ -1,16 +1,27 @@ # Generated from findfiles.pro. -##################################################################### -## findfiles Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(findfiles LANGUAGES CXX) -add_qt_executable(findfiles - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/dialogs/findfiles" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/dialogs/findfiles" - SOURCES - main.cpp - window.cpp window.h - LIBRARIES - Qt::Widgets +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 Widgets) + +add_executable(findfiles WIN32 MACOSX_BUNDLE + main.cpp + window.cpp window.h +) +target_link_libraries(findfiles PUBLIC + Qt::Widgets +) + +install(TARGETS findfiles + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" ) diff --git a/examples/widgets/dialogs/licensewizard/CMakeLists.txt b/examples/widgets/dialogs/licensewizard/CMakeLists.txt index 78b8cb7f51..eef8e33ca1 100644 --- a/examples/widgets/dialogs/licensewizard/CMakeLists.txt +++ b/examples/widgets/dialogs/licensewizard/CMakeLists.txt @@ -1,23 +1,29 @@ # Generated from licensewizard.pro. -##################################################################### -## licensewizard Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(licensewizard LANGUAGES CXX) -add_qt_executable(licensewizard - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/dialogs/licensewizard" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/dialogs/licensewizard" - SOURCES - licensewizard.cpp licensewizard.h - main.cpp - LIBRARIES - Qt::Widgets - Qt::PrintSupport -) +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -# Resources: -add_qt_resource(licensewizard "licensewizard" FILES - images/logo.png - images/watermark.png) +set(INSTALL_EXAMPLEDIR "examples") +find_package(Qt5 COMPONENTS Widgets) +find_package(Qt5 COMPONENTS PrintSupport) + +add_executable(licensewizard WIN32 MACOSX_BUNDLE + licensewizard.cpp licensewizard.h licensewizard.qrc + main.cpp +) +target_link_libraries(licensewizard PUBLIC + Qt::PrintSupport + Qt::Widgets +) + +install(TARGETS licensewizard + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/widgets/dialogs/standarddialogs/CMakeLists.txt b/examples/widgets/dialogs/standarddialogs/CMakeLists.txt index 3c0ddc0199..2aa96fba06 100644 --- a/examples/widgets/dialogs/standarddialogs/CMakeLists.txt +++ b/examples/widgets/dialogs/standarddialogs/CMakeLists.txt @@ -1,16 +1,27 @@ # Generated from standarddialogs.pro. -##################################################################### -## standarddialogs Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(standarddialogs LANGUAGES CXX) -add_qt_executable(standarddialogs - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/dialogs/standarddialogs" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/dialogs/standarddialogs" - SOURCES - dialog.cpp dialog.h - main.cpp - LIBRARIES - Qt::Widgets +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 Widgets) + +add_executable(standarddialogs WIN32 MACOSX_BUNDLE + dialog.cpp dialog.h + main.cpp +) +target_link_libraries(standarddialogs PUBLIC + Qt::Widgets +) + +install(TARGETS standarddialogs + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" ) diff --git a/examples/widgets/dialogs/tabdialog/CMakeLists.txt b/examples/widgets/dialogs/tabdialog/CMakeLists.txt index a8cbbb4b4e..da05a322f3 100644 --- a/examples/widgets/dialogs/tabdialog/CMakeLists.txt +++ b/examples/widgets/dialogs/tabdialog/CMakeLists.txt @@ -1,16 +1,27 @@ # Generated from tabdialog.pro. -##################################################################### -## tabdialog Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(tabdialog LANGUAGES CXX) -add_qt_executable(tabdialog - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/dialogs/tabdialog" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/dialogs/tabdialog" - SOURCES - main.cpp - tabdialog.cpp tabdialog.h - LIBRARIES - Qt::Widgets +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 Widgets) + +add_executable(tabdialog WIN32 MACOSX_BUNDLE + main.cpp + tabdialog.cpp tabdialog.h +) +target_link_libraries(tabdialog PUBLIC + Qt::Widgets +) + +install(TARGETS tabdialog + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" ) diff --git a/examples/widgets/dialogs/trivialwizard/CMakeLists.txt b/examples/widgets/dialogs/trivialwizard/CMakeLists.txt index 2deae77c0d..307945b2c2 100644 --- a/examples/widgets/dialogs/trivialwizard/CMakeLists.txt +++ b/examples/widgets/dialogs/trivialwizard/CMakeLists.txt @@ -1,15 +1,26 @@ # Generated from trivialwizard.pro. -##################################################################### -## trivialwizard Binary: -##################################################################### - -add_qt_executable(trivialwizard - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/dialogs/trivialwizard" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/dialogs/trivialwizard" - SOURCES - trivialwizard.cpp - LIBRARIES - Qt::Widgets +cmake_minimum_required(VERSION 3.14) +project(trivialwizard 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 Widgets) + +add_executable(trivialwizard WIN32 MACOSX_BUNDLE + trivialwizard.cpp +) +target_link_libraries(trivialwizard PUBLIC + Qt::Widgets +) + +install(TARGETS trivialwizard + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" ) -- cgit v1.2.3