diff options
author | Kevin Funk <kevin.funk@kdab.com> | 2019-06-04 17:08:47 +0200 |
---|---|---|
committer | Kevin Funk <kevin.funk@kdab.com> | 2019-06-05 12:53:28 +0000 |
commit | 99539a289491a2a709c2a63cd91eac155a1699da (patch) | |
tree | d928d6c6e123c6588261bea9358354fe1e1a7400 /examples/gui | |
parent | ace549587073d387823815b02ec85a28da408844 (diff) |
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 <alexandru.croitor@qt.io>
Diffstat (limited to 'examples/gui')
-rw-r--r-- | examples/gui/analogclock/CMakeLists.txt | 43 | ||||
-rw-r--r-- | examples/gui/openglwindow/CMakeLists.txt | 41 | ||||
-rw-r--r-- | examples/gui/rasterwindow/CMakeLists.txt | 41 |
3 files changed, 81 insertions, 44 deletions
diff --git a/examples/gui/analogclock/CMakeLists.txt b/examples/gui/analogclock/CMakeLists.txt index 99a879c57a..d35b5a7502 100644 --- a/examples/gui/analogclock/CMakeLists.txt +++ b/examples/gui/analogclock/CMakeLists.txt @@ -1,21 +1,32 @@ # Generated from analogclock.pro. -##################################################################### -## analogclock Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(analogclock LANGUAGES CXX) -add_qt_executable(analogclock - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/gui/analogclock" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/gui/analogclock" - SOURCES - ../rasterwindow/rasterwindow.cpp ../rasterwindow/rasterwindow.h - main.cpp - INCLUDE_DIRECTORIES - ../rasterwindow - LIBRARIES # special case - Qt::Gui +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_executable(gui_analogclock WIN32 MACOSX_BUNDLE # special case: renamed target + ../rasterwindow/rasterwindow.cpp ../rasterwindow/rasterwindow.h + main.cpp ) +target_include_directories(gui_analogclock PUBLIC + ../rasterwindow +) +# special case begin +target_link_libraries(gui_analogclock PUBLIC + Qt::Gui +) +# special case end -#### Keys ignored in scope 1:.:analogclock.pro:<NONE>: -# CONFIG = "no_batch" +install(TARGETS gui_analogclock + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/gui/openglwindow/CMakeLists.txt b/examples/gui/openglwindow/CMakeLists.txt index a59ba14346..ee62a2c43e 100644 --- a/examples/gui/openglwindow/CMakeLists.txt +++ b/examples/gui/openglwindow/CMakeLists.txt @@ -1,18 +1,31 @@ # Generated from openglwindow.pro. -##################################################################### -## openglwindow Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(openglwindow LANGUAGES CXX) -add_qt_executable(openglwindow - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/gui/openglwindow" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/gui/openglwindow" - SOURCES - main.cpp - openglwindow.cpp openglwindow.h - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_SOURCE_DIR} - LIBRARIES # special case - Qt::Gui +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_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}" ) diff --git a/examples/gui/rasterwindow/CMakeLists.txt b/examples/gui/rasterwindow/CMakeLists.txt index 61255f3038..f200899fbd 100644 --- a/examples/gui/rasterwindow/CMakeLists.txt +++ b/examples/gui/rasterwindow/CMakeLists.txt @@ -1,18 +1,31 @@ # Generated from rasterwindow.pro. -##################################################################### -## rasterwindow Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(rasterwindow LANGUAGES CXX) -add_qt_executable(rasterwindow - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/gui/rasterwindow" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/gui/rasterwindow" - SOURCES - main.cpp - rasterwindow.cpp rasterwindow.h - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_SOURCE_DIR} - LIBRARIES # special case - Qt::Gui +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_executable(rasterwindow WIN32 MACOSX_BUNDLE + main.cpp + rasterwindow.cpp rasterwindow.h +) +target_include_directories(rasterwindow PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} +) +# special case begin +target_link_libraries(rasterwindow PUBLIC + Qt::Gui +) +# special case end +install(TARGETS rasterwindow + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" ) |