summaryrefslogtreecommitdiffstats
path: root/examples/widgets/painting
diff options
context:
space:
mode:
authorKevin Funk <kevin.funk@kdab.com>2019-06-04 17:08:47 +0200
committerKevin Funk <kevin.funk@kdab.com>2019-06-05 12:53:28 +0000
commit99539a289491a2a709c2a63cd91eac155a1699da (patch)
treed928d6c6e123c6588261bea9358354fe1e1a7400 /examples/widgets/painting
parentace549587073d387823815b02ec85a28da408844 (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/widgets/painting')
-rw-r--r--examples/widgets/painting/affine/CMakeLists.txt46
-rw-r--r--examples/widgets/painting/basicdrawing/CMakeLists.txt42
-rw-r--r--examples/widgets/painting/composition/CMakeLists.txt45
-rw-r--r--examples/widgets/painting/concentriccircles/CMakeLists.txt37
-rw-r--r--examples/widgets/painting/deform/CMakeLists.txt44
-rw-r--r--examples/widgets/painting/fontsampler/CMakeLists.txt43
-rw-r--r--examples/widgets/painting/gradients/CMakeLists.txt43
-rw-r--r--examples/widgets/painting/imagecomposition/CMakeLists.txt40
-rw-r--r--examples/widgets/painting/painterpaths/CMakeLists.txt42
-rw-r--r--examples/widgets/painting/pathstroke/CMakeLists.txt45
-rw-r--r--examples/widgets/painting/shared/CMakeLists.txt53
-rw-r--r--examples/widgets/painting/transformations/CMakeLists.txt37
12 files changed, 286 insertions, 231 deletions
diff --git a/examples/widgets/painting/affine/CMakeLists.txt b/examples/widgets/painting/affine/CMakeLists.txt
index cda43296dd..a3dc7861fa 100644
--- a/examples/widgets/painting/affine/CMakeLists.txt
+++ b/examples/widgets/painting/affine/CMakeLists.txt
@@ -1,23 +1,33 @@
# Generated from affine.pro.
-#####################################################################
-## affine Binary:
-#####################################################################
+cmake_minimum_required(VERSION 3.14)
+project(affine LANGUAGES CXX)
-add_qt_executable(affine
- GUI
- OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/affine"
- INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/affine"
- SOURCES
- main.cpp
- xform.cpp xform.h
- # INCLUDE_DIRECTORIES ../shared # special case
- LIBRARIES # special case
- painting_shared
+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(affine WIN32 MACOSX_BUNDLE
+ # special case: remove files from ../shared
+ affine.qrc
+ main.cpp
+ xform.cpp xform.h
+)
+target_include_directories(affine PUBLIC
+ ../shared
+)
+target_link_libraries(affine PUBLIC
+ Qt::Widgets
+ painting_shared # special case
)
-# Resources:
-add_qt_resource(affine "affine" PREFIX "/res/affine" FILES
- bg1.jpg
- xform.cpp
- xform.html)
+install(TARGETS affine
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/widgets/painting/basicdrawing/CMakeLists.txt b/examples/widgets/painting/basicdrawing/CMakeLists.txt
index 176149dad5..d0a0ac749d 100644
--- a/examples/widgets/painting/basicdrawing/CMakeLists.txt
+++ b/examples/widgets/painting/basicdrawing/CMakeLists.txt
@@ -1,23 +1,29 @@
# Generated from basicdrawing.pro.
-#####################################################################
-## basicdrawing Binary:
-#####################################################################
+cmake_minimum_required(VERSION 3.14)
+project(basicdrawing LANGUAGES CXX)
-add_qt_executable(basicdrawing
- GUI
- OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/basicdrawing"
- INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/basicdrawing"
- SOURCES
- main.cpp
- renderarea.cpp renderarea.h
- 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)
-# Resources:
-add_qt_resource(basicdrawing "basicdrawing" FILES
- images/brick.png
- images/qt-logo.png)
+set(INSTALL_EXAMPLEDIR "examples")
+find_package(Qt5 COMPONENTS Widgets)
+
+add_executable(basicdrawing WIN32 MACOSX_BUNDLE
+ basicdrawing.qrc
+ main.cpp
+ renderarea.cpp renderarea.h
+ window.cpp window.h
+)
+target_link_libraries(basicdrawing PUBLIC
+ Qt::Widgets
+)
+
+install(TARGETS basicdrawing
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/widgets/painting/composition/CMakeLists.txt b/examples/widgets/painting/composition/CMakeLists.txt
index 1e83bc4814..d083cf00dd 100644
--- a/examples/widgets/painting/composition/CMakeLists.txt
+++ b/examples/widgets/painting/composition/CMakeLists.txt
@@ -1,23 +1,32 @@
# Generated from composition.pro.
-#####################################################################
-## composition Binary:
-#####################################################################
+cmake_minimum_required(VERSION 3.14)
+project(composition LANGUAGES CXX)
-add_qt_executable(composition
- GUI
- OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/composition"
- INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/composition"
- SOURCES
- composition.cpp composition.h
- main.cpp
- LIBRARIES # special case
- painting_shared
+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(composition WIN32 MACOSX_BUNDLE
+ # special case: remove files from ../shared
+ composition.cpp composition.h composition.qrc
+ main.cpp
+)
+target_include_directories(composition PUBLIC
+ ../shared
+)
+target_link_libraries(composition PUBLIC
+ Qt::Widgets
+ painting_shared # special case
)
-# Resources:
-add_qt_resource(composition "composition" PREFIX "/res/composition" FILES
- composition.cpp
- composition.html
- flower.jpg
- flower_alpha.jpg)
+install(TARGETS composition
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/widgets/painting/concentriccircles/CMakeLists.txt b/examples/widgets/painting/concentriccircles/CMakeLists.txt
index a2305782a5..edbfea218d 100644
--- a/examples/widgets/painting/concentriccircles/CMakeLists.txt
+++ b/examples/widgets/painting/concentriccircles/CMakeLists.txt
@@ -1,17 +1,28 @@
# Generated from concentriccircles.pro.
-#####################################################################
-## concentriccircles Binary:
-#####################################################################
+cmake_minimum_required(VERSION 3.14)
+project(concentriccircles LANGUAGES CXX)
-add_qt_executable(concentriccircles
- GUI
- OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/concentriccircles"
- INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/concentriccircles"
- SOURCES
- circlewidget.cpp circlewidget.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(concentriccircles WIN32 MACOSX_BUNDLE
+ circlewidget.cpp circlewidget.h
+ main.cpp
+ window.cpp window.h
+)
+target_link_libraries(concentriccircles PUBLIC
+ Qt::Widgets
+)
+
+install(TARGETS concentriccircles
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
)
diff --git a/examples/widgets/painting/deform/CMakeLists.txt b/examples/widgets/painting/deform/CMakeLists.txt
index 67622da25d..591bc552ea 100644
--- a/examples/widgets/painting/deform/CMakeLists.txt
+++ b/examples/widgets/painting/deform/CMakeLists.txt
@@ -1,21 +1,33 @@
# Generated from deform.pro.
-#####################################################################
-## deform Binary:
-#####################################################################
+cmake_minimum_required(VERSION 3.14)
+project(deform LANGUAGES CXX)
-add_qt_executable(deform
- GUI
- OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/deform"
- INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/deform"
- SOURCES
- main.cpp
- pathdeform.cpp pathdeform.h
- LIBRARIES # special case
- painting_shared
+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(deform WIN32 MACOSX_BUNDLE
+ # special case: remove files from ../shared
+ deform.qrc
+ main.cpp
+ pathdeform.cpp pathdeform.h
+)
+target_include_directories(deform PUBLIC
+ ../shared
+)
+target_link_libraries(deform PUBLIC
+ Qt::Widgets
+ painting_shared # special case
)
-# Resources:
-add_qt_resource(deform "deform" PREFIX "/res/deform" FILES
- pathdeform.cpp
- pathdeform.html)
+install(TARGETS deform
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/widgets/painting/fontsampler/CMakeLists.txt b/examples/widgets/painting/fontsampler/CMakeLists.txt
index 38bb59eb6c..e533cdb63a 100644
--- a/examples/widgets/painting/fontsampler/CMakeLists.txt
+++ b/examples/widgets/painting/fontsampler/CMakeLists.txt
@@ -1,27 +1,28 @@
# Generated from fontsampler.pro.
-#####################################################################
-## fontsampler Binary:
-#####################################################################
+cmake_minimum_required(VERSION 3.14)
+project(fontsampler LANGUAGES CXX)
-add_qt_executable(fontsampler
- GUI
- OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/fontsampler"
- INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/fontsampler"
- SOURCES
- main.cpp
- mainwindow.cpp mainwindow.h
- mainwindowbase.ui
- PUBLIC_LIBRARIES
- Qt::Widgets
- ENABLE_AUTOGEN_TOOLS
- uic
-)
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
-## Scopes:
-#####################################################################
+find_package(Qt5 COMPONENTS Widgets)
+
+add_executable(fontsampler WIN32 MACOSX_BUNDLE
+ main.cpp
+ mainwindow.cpp mainwindow.h
+ mainwindowbase.ui
+)
+target_link_libraries(fontsampler PUBLIC
+ Qt::Widgets
+)
-extend_target(fontsampler CONDITION TARGET Qt::PrintSupport
- PUBLIC_LIBRARIES
- Qt::PrintSupport
+install(TARGETS fontsampler
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
)
diff --git a/examples/widgets/painting/gradients/CMakeLists.txt b/examples/widgets/painting/gradients/CMakeLists.txt
index 0d5553b986..b25739e919 100644
--- a/examples/widgets/painting/gradients/CMakeLists.txt
+++ b/examples/widgets/painting/gradients/CMakeLists.txt
@@ -1,21 +1,32 @@
# Generated from gradients.pro.
-#####################################################################
-## gradients Binary:
-#####################################################################
+cmake_minimum_required(VERSION 3.14)
+project(gradients LANGUAGES CXX)
-add_qt_executable(gradients
- GUI
- OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/gradients"
- INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/gradients"
- SOURCES
- gradients.cpp gradients.h
- main.cpp
- LIBRARIES # special case
- painting_shared
+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(gradients WIN32 MACOSX_BUNDLE
+ # special case: remove files from ../shared
+ gradients.cpp gradients.h gradients.qrc
+ main.cpp
+)
+target_include_directories(gradients PUBLIC
+ ../shared
+)
+target_link_libraries(gradients PUBLIC
+ Qt::Widgets
+ painting_shared # special case
)
-# Resources:
-add_qt_resource(gradients "gradients" PREFIX "/res/gradients" FILES
- gradients.cpp
- gradients.html)
+install(TARGETS gradients
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/widgets/painting/imagecomposition/CMakeLists.txt b/examples/widgets/painting/imagecomposition/CMakeLists.txt
index eed2bede43..506a3d8510 100644
--- a/examples/widgets/painting/imagecomposition/CMakeLists.txt
+++ b/examples/widgets/painting/imagecomposition/CMakeLists.txt
@@ -1,22 +1,28 @@
# Generated from imagecomposition.pro.
-#####################################################################
-## imagecomposition Binary:
-#####################################################################
+cmake_minimum_required(VERSION 3.14)
+project(imagecomposition LANGUAGES CXX)
-add_qt_executable(imagecomposition
- GUI
- OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/imagecomposition"
- INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/imagecomposition"
- SOURCES
- imagecomposer.cpp imagecomposer.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(imagecomposition "imagecomposition" FILES
- images/butterfly.png
- images/checker.png)
+set(INSTALL_EXAMPLEDIR "examples")
+find_package(Qt5 COMPONENTS Widgets)
+
+add_executable(imagecomposition WIN32 MACOSX_BUNDLE
+ imagecomposer.cpp imagecomposer.h
+ imagecomposition.qrc
+ main.cpp
+)
+target_link_libraries(imagecomposition PUBLIC
+ Qt::Widgets
+)
+
+install(TARGETS imagecomposition
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/widgets/painting/painterpaths/CMakeLists.txt b/examples/widgets/painting/painterpaths/CMakeLists.txt
index 13dd321a52..423d7d98ed 100644
--- a/examples/widgets/painting/painterpaths/CMakeLists.txt
+++ b/examples/widgets/painting/painterpaths/CMakeLists.txt
@@ -1,26 +1,28 @@
# Generated from painterpaths.pro.
-#####################################################################
-## painterpaths Binary:
-#####################################################################
+cmake_minimum_required(VERSION 3.14)
+project(painterpaths LANGUAGES CXX)
-add_qt_executable(painterpaths
- GUI
- OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/painterpaths"
- INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/painterpaths"
- SOURCES
- main.cpp
- renderarea.cpp renderarea.h
- window.cpp window.h
- LIBRARIES
- Qt::Widgets
- painting_shared # special case
-)
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
-## Scopes:
-#####################################################################
+find_package(Qt5 COMPONENTS Widgets)
+
+add_executable(painterpaths WIN32 MACOSX_BUNDLE
+ main.cpp
+ renderarea.cpp renderarea.h
+ window.cpp window.h
+)
+target_link_libraries(painterpaths PUBLIC
+ Qt::Widgets
+)
-extend_target(painterpaths CONDITION UNIX AND NOT APPLE_OSX AND NOT HAIKU AND NOT INTEGRITY AND NOT VXWORKS
- LIBRARIES
- m
+install(TARGETS painterpaths
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
)
diff --git a/examples/widgets/painting/pathstroke/CMakeLists.txt b/examples/widgets/painting/pathstroke/CMakeLists.txt
index 150a1baa83..ce32f38549 100644
--- a/examples/widgets/painting/pathstroke/CMakeLists.txt
+++ b/examples/widgets/painting/pathstroke/CMakeLists.txt
@@ -1,21 +1,34 @@
# Generated from pathstroke.pro.
-#####################################################################
-## pathstroke Binary:
-#####################################################################
+cmake_minimum_required(VERSION 3.14)
+project(pathstroke LANGUAGES CXX)
-add_qt_executable(pathstroke
- GUI
- OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/pathstroke"
- INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/pathstroke"
- SOURCES
- main.cpp
- pathstroke.cpp pathstroke.h
- LIBRARIES # special case
- painting_shared
+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(pathstroke WIN32 MACOSX_BUNDLE
+ ../shared/arthurstyle.cpp ../shared/arthurstyle.h
+ ../shared/arthurwidgets.cpp ../shared/arthurwidgets.h
+ ../shared/hoverpoints.cpp ../shared/hoverpoints.h
+ ../shared/shared.qrc
+ main.cpp
+ pathstroke.cpp pathstroke.h pathstroke.qrc
+)
+target_include_directories(pathstroke PUBLIC
+ ../shared
+)
+target_link_libraries(pathstroke PUBLIC
+ Qt::Widgets
)
-# Resources:
-add_qt_resource(pathstroke "pathstroke" PREFIX "/res/pathstroke" FILES
- pathstroke.cpp
- pathstroke.html)
+install(TARGETS pathstroke
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/widgets/painting/shared/CMakeLists.txt b/examples/widgets/painting/shared/CMakeLists.txt
index a7bec2789b..c94a586425 100644
--- a/examples/widgets/painting/shared/CMakeLists.txt
+++ b/examples/widgets/painting/shared/CMakeLists.txt
@@ -2,7 +2,7 @@
# special case:
add_library(painting_shared OBJECT)
-qt_manual_moc(moc_files arthurwidgets.h hoverpoints.h) # no automoc for OBJECT libs:-/
+qt5_wrap_cpp(moc_files arthurwidgets.h hoverpoints.h) # no automoc for OBJECT libs:-/
target_sources(painting_shared PRIVATE
arthurstyle.cpp arthurstyle.h
arthurwidgets.cpp arthurwidgets.h
@@ -12,53 +12,16 @@ target_sources(painting_shared PRIVATE
target_link_libraries(painting_shared PUBLIC Qt::Widgets)
target_include_directories(painting_shared PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
-
-# Resources:
-add_qt_resource(painting_shared "shared" PREFIX "/res" FILES
- images/button_normal_cap_left.png
- images/button_normal_cap_right.png
- images/button_normal_stretch.png
- images/button_pressed_cap_left.png
- images/button_pressed_cap_right.png
- images/button_pressed_stretch.png
- images/frame_bottom.png
- images/frame_bottomleft.png
- images/frame_bottomright.png
- images/frame_left.png
- images/frame_right.png
- images/frame_top.png
- images/frame_topleft.png
- images/frame_topright.png
- images/groupframe_bottom_left.png
- images/groupframe_bottom_right.png
- images/groupframe_bottom_stretch.png
- images/groupframe_left_stretch.png
- images/groupframe_right_stretch.png
- images/groupframe_top_stretch.png
- images/groupframe_topleft.png
- images/groupframe_topright.png
- images/line_dash_dot.png
- images/line_dash_dot_dot.png
- images/line_dashed.png
- images/line_dotted.png
- images/line_solid.png
- images/radiobutton-on.png
- images/radiobutton_off.png
- images/radiobutton_on.png
- images/slider_bar.png
- images/slider_thumb_on.png
- images/title_cap_left.png
- images/title_cap_right.png
- images/title_stretch.png)
-
+qt5_add_resources(res_files shared.qrc)
+target_sources(painting_shared PRIVATE ${res_files})
## Scopes:
#####################################################################
-extend_target(painting_shared CONDITION TARGET Qt::OpenGL OR QT_FEATURE_opengles2
- DEFINES
- QT_OPENGL_SUPPORT
- LIBRARIES
+if (TARGET Qt::OpenGL OR QT_FEATURE_opengles2)
+ target_compile_definitions(painting_shared PRIVATE QT_OPENGL_SUPPORT)
+ target_link_libraries(painting_shared PRIVATE
Qt::OpenGL
Qt::Widgets
-)
+ )
+endif()
diff --git a/examples/widgets/painting/transformations/CMakeLists.txt b/examples/widgets/painting/transformations/CMakeLists.txt
index a3c3130c32..5837f90f9d 100644
--- a/examples/widgets/painting/transformations/CMakeLists.txt
+++ b/examples/widgets/painting/transformations/CMakeLists.txt
@@ -1,17 +1,28 @@
# Generated from transformations.pro.
-#####################################################################
-## transformations Binary:
-#####################################################################
+cmake_minimum_required(VERSION 3.14)
+project(transformations LANGUAGES CXX)
-add_qt_executable(transformations
- GUI
- OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/transformations"
- INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/widgets/painting/transformations"
- SOURCES
- main.cpp
- renderarea.cpp renderarea.h
- 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(transformations WIN32 MACOSX_BUNDLE
+ main.cpp
+ renderarea.cpp renderarea.h
+ window.cpp window.h
+)
+target_link_libraries(transformations PUBLIC
+ Qt::Widgets
+)
+
+install(TARGETS transformations
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
)