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/layouts/basiclayouts/CMakeLists.txt | 35 +++++++++++++------- .../widgets/layouts/borderlayout/CMakeLists.txt | 37 ++++++++++++++-------- .../widgets/layouts/dynamiclayouts/CMakeLists.txt | 35 +++++++++++++------- examples/widgets/layouts/flowlayout/CMakeLists.txt | 37 ++++++++++++++-------- 4 files changed, 94 insertions(+), 50 deletions(-) (limited to 'examples/widgets/layouts') diff --git a/examples/widgets/layouts/basiclayouts/CMakeLists.txt b/examples/widgets/layouts/basiclayouts/CMakeLists.txt index 28ac6a48b2..83c4833b9d 100644 --- a/examples/widgets/layouts/basiclayouts/CMakeLists.txt +++ b/examples/widgets/layouts/basiclayouts/CMakeLists.txt @@ -1,16 +1,27 @@ # Generated from basiclayouts.pro. -##################################################################### -## basiclayouts Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(basiclayouts LANGUAGES CXX) -add_qt_executable(basiclayouts - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/layouts/basiclayouts" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/layouts/basiclayouts" - 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(basiclayouts WIN32 MACOSX_BUNDLE + dialog.cpp dialog.h + main.cpp +) +target_link_libraries(basiclayouts PUBLIC + Qt::Widgets +) + +install(TARGETS basiclayouts + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" ) diff --git a/examples/widgets/layouts/borderlayout/CMakeLists.txt b/examples/widgets/layouts/borderlayout/CMakeLists.txt index 72cf6002a2..cfe34ad68f 100644 --- a/examples/widgets/layouts/borderlayout/CMakeLists.txt +++ b/examples/widgets/layouts/borderlayout/CMakeLists.txt @@ -1,17 +1,28 @@ # Generated from borderlayout.pro. -##################################################################### -## borderlayout Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(borderlayout LANGUAGES CXX) -add_qt_executable(borderlayout - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/layouts/borderlayout" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/layouts/borderlayout" - SOURCES - borderlayout.cpp borderlayout.h - 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(borderlayout WIN32 MACOSX_BUNDLE + borderlayout.cpp borderlayout.h + main.cpp + window.cpp window.h +) +target_link_libraries(borderlayout PUBLIC + Qt::Widgets +) + +install(TARGETS borderlayout + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" ) diff --git a/examples/widgets/layouts/dynamiclayouts/CMakeLists.txt b/examples/widgets/layouts/dynamiclayouts/CMakeLists.txt index 47f935bf68..1989672b9c 100644 --- a/examples/widgets/layouts/dynamiclayouts/CMakeLists.txt +++ b/examples/widgets/layouts/dynamiclayouts/CMakeLists.txt @@ -1,16 +1,27 @@ # Generated from dynamiclayouts.pro. -##################################################################### -## dynamiclayouts Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(dynamiclayouts LANGUAGES CXX) -add_qt_executable(dynamiclayouts - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/layouts/dynamiclayouts" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/layouts/dynamiclayouts" - 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(dynamiclayouts WIN32 MACOSX_BUNDLE + dialog.cpp dialog.h + main.cpp +) +target_link_libraries(dynamiclayouts PUBLIC + Qt::Widgets +) + +install(TARGETS dynamiclayouts + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" ) diff --git a/examples/widgets/layouts/flowlayout/CMakeLists.txt b/examples/widgets/layouts/flowlayout/CMakeLists.txt index a887abb93e..6a7ad689ca 100644 --- a/examples/widgets/layouts/flowlayout/CMakeLists.txt +++ b/examples/widgets/layouts/flowlayout/CMakeLists.txt @@ -1,17 +1,28 @@ # Generated from flowlayout.pro. -##################################################################### -## flowlayout Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(flowlayout LANGUAGES CXX) -add_qt_executable(flowlayout_layout # special case - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/layouts/flowlayout" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/layouts/flowlayout" - SOURCES - flowlayout.cpp flowlayout.h - 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(flowlayout WIN32 MACOSX_BUNDLE + flowlayout.cpp flowlayout.h + main.cpp + window.cpp window.h +) +target_link_libraries(flowlayout PUBLIC + Qt::Widgets +) + +install(TARGETS flowlayout + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" ) -- cgit v1.2.3