Fix build of standalone painting examples

Since commit f5c69a51956 the examples/widgets/painting examples could
not be built standalone anymore.
Move the find_package calls out of the examples/widgets/painting/shared
subdirectory and add a .cmake file that can be included to use the
library conveniently.

Change-Id: I35cb5bd8419a67c782d109104c4a88d64477a8be
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Joerg Bornemann 2021-05-17 14:09:37 +02:00
parent 536a4ab079
commit db25a067b0
7 changed files with 18 additions and 13 deletions

View File

@ -39,7 +39,7 @@ target_include_directories(affine PUBLIC
# special case begin # special case begin
if(NOT TARGET painting_shared::painting_shared) if(NOT TARGET painting_shared::painting_shared)
add_subdirectory(../shared painting_shared) include(../shared/use_lib.cmake)
endif() endif()
# special case end # special case end

View File

@ -39,7 +39,7 @@ target_include_directories(composition PUBLIC
# special case begin # special case begin
if(NOT TARGET painting_shared::painting_shared) if(NOT TARGET painting_shared::painting_shared)
add_subdirectory(../shared painting_shared) include(../shared/use_lib.cmake)
endif() endif()
# special case end # special case end

View File

@ -39,7 +39,7 @@ target_include_directories(deform PUBLIC
# special case begin # special case begin
if(NOT TARGET painting_shared::painting_shared) if(NOT TARGET painting_shared::painting_shared)
add_subdirectory(../shared painting_shared) include(../shared/use_lib.cmake)
endif() endif()
# special case end # special case end

View File

@ -39,7 +39,7 @@ target_include_directories(gradients PUBLIC
# special case begin # special case begin
if(NOT TARGET painting_shared::painting_shared) if(NOT TARGET painting_shared::painting_shared)
add_subdirectory(../shared painting_shared) include(../shared/use_lib.cmake)
endif() endif()
# special case end # special case end

View File

@ -39,7 +39,7 @@ target_include_directories(pathstroke PUBLIC
# special case begin # special case begin
if(NOT TARGET painting_shared::painting_shared) if(NOT TARGET painting_shared::painting_shared)
add_subdirectory(../shared painting_shared) include(../shared/use_lib.cmake)
endif() endif()
# special case end # special case end

View File

@ -1,14 +1,6 @@
# special case skip regeneration # special case skip regeneration
# Port of shared.pri to be included by painting examples # Port of shared.pri to be included by painting examples
if(NOT TARGET Qt::Widgets)
find_package(Qt6 REQUIRED COMPONENTS Widgets)
endif()
if(NOT TARGET Qt::OpenGL)
find_package(Qt6 OPTIONAL_COMPONENTS OpenGL)
endif()
add_library(painting_shared OBJECT) add_library(painting_shared OBJECT)
add_library(painting_shared::painting_shared ALIAS painting_shared) add_library(painting_shared::painting_shared ALIAS painting_shared)
qt6_wrap_cpp(moc_files arthurwidgets.h hoverpoints.h) # no automoc for OBJECT libs:-/ qt6_wrap_cpp(moc_files arthurwidgets.h hoverpoints.h) # no automoc for OBJECT libs:-/

View File

@ -0,0 +1,13 @@
# Include this file in your example project to use the library defined in this directory.
# This avoids find_package calls in a directory scope different from the directory scope of the
# consuming target.
if(NOT TARGET Qt::Widgets)
find_package(Qt6 REQUIRED COMPONENTS Widgets)
endif()
if(NOT TARGET Qt::OpenGL)
find_package(Qt6 OPTIONAL_COMPONENTS OpenGL)
endif()
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}" painting_shared)