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/animation/sub-attaq/CMakeLists.txt | 169 +++++---------------- 1 file changed, 35 insertions(+), 134 deletions(-) (limited to 'examples/widgets/animation/sub-attaq/CMakeLists.txt') diff --git a/examples/widgets/animation/sub-attaq/CMakeLists.txt b/examples/widgets/animation/sub-attaq/CMakeLists.txt index e7cb602e19..3260a5f75d 100644 --- a/examples/widgets/animation/sub-attaq/CMakeLists.txt +++ b/examples/widgets/animation/sub-attaq/CMakeLists.txt @@ -1,142 +1,43 @@ # Generated from sub-attaq.pro. -##################################################################### -## sub-attaq Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(sub-attaq LANGUAGES CXX) -add_qt_executable(sub-attaq - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/animation/sub-attaq" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/animation/sub-attaq" - SOURCES - animationmanager.cpp animationmanager.h - boat.cpp boat.h boat_p.h - bomb.cpp bomb.h - graphicsscene.cpp graphicsscene.h - main.cpp - mainwindow.cpp mainwindow.h - pixmapitem.cpp pixmapitem.h - progressitem.cpp progressitem.h - qanimationstate.cpp qanimationstate.h - states.cpp states.h - submarine.cpp submarine.h submarine_p.h - textinformationitem.cpp textinformationitem.h - torpedo.cpp torpedo.h - LIBRARIES - Qt::Widgets -) +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -# Resources: -set_source_files_properties("pics/big/background.png" - PROPERTIES alias "big/background") -set_source_files_properties("pics/big/boat.png" - PROPERTIES alias "big/boat") -set_source_files_properties("pics/big/bomb.png" - PROPERTIES alias "big/bomb") -set_source_files_properties("pics/big/explosion/boat/step1.png" - PROPERTIES alias "big/explosion/boat/step1") -set_source_files_properties("pics/big/explosion/boat/step2.png" - PROPERTIES alias "big/explosion/boat/step2") -set_source_files_properties("pics/big/explosion/boat/step3.png" - PROPERTIES alias "big/explosion/boat/step3") -set_source_files_properties("pics/big/explosion/boat/step4.png" - PROPERTIES alias "big/explosion/boat/step4") -set_source_files_properties("pics/big/explosion/submarine/step1.png" - PROPERTIES alias "big/explosion/submarine/step1") -set_source_files_properties("pics/big/explosion/submarine/step2.png" - PROPERTIES alias "big/explosion/submarine/step2") -set_source_files_properties("pics/big/explosion/submarine/step3.png" - PROPERTIES alias "big/explosion/submarine/step3") -set_source_files_properties("pics/big/explosion/submarine/step4.png" - PROPERTIES alias "big/explosion/submarine/step4") -set_source_files_properties("pics/big/submarine.png" - PROPERTIES alias "big/submarine") -set_source_files_properties("pics/big/surface.png" - PROPERTIES alias "big/surface") -set_source_files_properties("pics/big/torpedo.png" - PROPERTIES alias "big/torpedo") -set_source_files_properties("pics/scalable/boat.svg" - PROPERTIES alias "boat") -set_source_files_properties("pics/scalable/sub-attaq.svg" - PROPERTIES alias "all") -set_source_files_properties("pics/scalable/submarine.svg" - PROPERTIES alias "submarine") -set_source_files_properties("pics/scalable/torpedo.svg" - PROPERTIES alias "torpedo") -set_source_files_properties("pics/small/background.png" - PROPERTIES alias "small/background") -set_source_files_properties("pics/small/boat.png" - PROPERTIES alias "small/boat") -set_source_files_properties("pics/small/bomb.png" - PROPERTIES alias "small/bomb") -set_source_files_properties("pics/small/submarine.png" - PROPERTIES alias "small/submarine") -set_source_files_properties("pics/small/surface.png" - PROPERTIES alias "small/surface") -set_source_files_properties("pics/small/torpedo.png" - PROPERTIES alias "small/torpedo") -set_source_files_properties("pics/welcome/logo-a.png" - PROPERTIES alias "logo-a") -set_source_files_properties("pics/welcome/logo-a2.png" - PROPERTIES alias "logo-a2") -set_source_files_properties("pics/welcome/logo-b.png" - PROPERTIES alias "logo-b") -set_source_files_properties("pics/welcome/logo-dash.png" - PROPERTIES alias "logo-dash") -set_source_files_properties("pics/welcome/logo-excl.png" - PROPERTIES alias "logo-excl") -set_source_files_properties("pics/welcome/logo-q.png" - PROPERTIES alias "logo-q") -set_source_files_properties("pics/welcome/logo-s.png" - PROPERTIES alias "logo-s") -set_source_files_properties("pics/welcome/logo-t.png" - PROPERTIES alias "logo-t") -set_source_files_properties("pics/welcome/logo-t2.png" - PROPERTIES alias "logo-t2") -set_source_files_properties("pics/welcome/logo-u.png" - PROPERTIES alias "logo-u") -add_qt_resource(sub-attaq "subattaq" PREFIX "/" FILES - data.xml - pics/big/background.png - pics/big/boat.png - pics/big/bomb.png - pics/big/explosion/boat/step1.png - pics/big/explosion/boat/step2.png - pics/big/explosion/boat/step3.png - pics/big/explosion/boat/step4.png - pics/big/explosion/submarine/step1.png - pics/big/explosion/submarine/step2.png - pics/big/explosion/submarine/step3.png - pics/big/explosion/submarine/step4.png - pics/big/submarine.png - pics/big/surface.png - pics/big/torpedo.png - pics/scalable/boat.svg - pics/scalable/sub-attaq.svg - pics/scalable/submarine.svg - pics/scalable/torpedo.svg - pics/small/background.png - pics/small/boat.png - pics/small/bomb.png - pics/small/submarine.png - pics/small/surface.png - pics/small/torpedo.png - pics/welcome/logo-a.png - pics/welcome/logo-a2.png - pics/welcome/logo-b.png - pics/welcome/logo-dash.png - pics/welcome/logo-excl.png - pics/welcome/logo-q.png - pics/welcome/logo-s.png - pics/welcome/logo-t.png - pics/welcome/logo-t2.png - pics/welcome/logo-u.png) +set(INSTALL_EXAMPLEDIR "examples") +find_package(Qt5 COMPONENTS Widgets) +find_package(Qt5 COMPONENTS OpenGL) # special case -## Scopes: -##################################################################### +add_executable(sub-attaq WIN32 MACOSX_BUNDLE + animationmanager.cpp animationmanager.h + boat.cpp boat.h boat_p.h + bomb.cpp bomb.h + graphicsscene.cpp graphicsscene.h + main.cpp + mainwindow.cpp mainwindow.h + pixmapitem.cpp pixmapitem.h + progressitem.cpp progressitem.h + qanimationstate.cpp qanimationstate.h + states.cpp states.h + subattaq.qrc + submarine.cpp submarine.h submarine_p.h + textinformationitem.cpp textinformationitem.h + torpedo.cpp torpedo.h +) +target_link_libraries(sub-attaq PUBLIC + Qt::Widgets +) +if (TARGET Qt::OpenGL) + target_link_libraries(sub-attaq PUBLIC Qt::OpenGL) +endif() -extend_target(sub-attaq CONDITION TARGET Qt::OpenGL - LIBRARIES - Qt::OpenGL +install(TARGETS sub-attaq + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" ) -- cgit v1.2.3