diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2021-05-17 14:09:37 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2021-05-17 17:14:10 +0200 |
commit | db25a067b0e1b5905e9cd3316df45f2be1b44594 (patch) | |
tree | e81f4af249469b5651f4aacc79d250947414fe1f /examples/widgets | |
parent | 536a4ab07988ccf52e071c5ab831069084b0cb71 (diff) |
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>
Diffstat (limited to 'examples/widgets')
7 files changed, 18 insertions, 13 deletions
diff --git a/examples/widgets/painting/affine/CMakeLists.txt b/examples/widgets/painting/affine/CMakeLists.txt index c3323693b8..cd264e6be4 100644 --- a/examples/widgets/painting/affine/CMakeLists.txt +++ b/examples/widgets/painting/affine/CMakeLists.txt @@ -39,7 +39,7 @@ target_include_directories(affine PUBLIC # special case begin if(NOT TARGET painting_shared::painting_shared) - add_subdirectory(../shared painting_shared) + include(../shared/use_lib.cmake) endif() # special case end diff --git a/examples/widgets/painting/composition/CMakeLists.txt b/examples/widgets/painting/composition/CMakeLists.txt index 8192439737..f693d48569 100644 --- a/examples/widgets/painting/composition/CMakeLists.txt +++ b/examples/widgets/painting/composition/CMakeLists.txt @@ -39,7 +39,7 @@ target_include_directories(composition PUBLIC # special case begin if(NOT TARGET painting_shared::painting_shared) - add_subdirectory(../shared painting_shared) + include(../shared/use_lib.cmake) endif() # special case end diff --git a/examples/widgets/painting/deform/CMakeLists.txt b/examples/widgets/painting/deform/CMakeLists.txt index c2517ac66f..6b8a66d9a2 100644 --- a/examples/widgets/painting/deform/CMakeLists.txt +++ b/examples/widgets/painting/deform/CMakeLists.txt @@ -39,7 +39,7 @@ target_include_directories(deform PUBLIC # special case begin if(NOT TARGET painting_shared::painting_shared) - add_subdirectory(../shared painting_shared) + include(../shared/use_lib.cmake) endif() # special case end diff --git a/examples/widgets/painting/gradients/CMakeLists.txt b/examples/widgets/painting/gradients/CMakeLists.txt index 6ad4dfa771..78d659ee84 100644 --- a/examples/widgets/painting/gradients/CMakeLists.txt +++ b/examples/widgets/painting/gradients/CMakeLists.txt @@ -39,7 +39,7 @@ target_include_directories(gradients PUBLIC # special case begin if(NOT TARGET painting_shared::painting_shared) - add_subdirectory(../shared painting_shared) + include(../shared/use_lib.cmake) endif() # special case end diff --git a/examples/widgets/painting/pathstroke/CMakeLists.txt b/examples/widgets/painting/pathstroke/CMakeLists.txt index 17de61fede..feb3332897 100644 --- a/examples/widgets/painting/pathstroke/CMakeLists.txt +++ b/examples/widgets/painting/pathstroke/CMakeLists.txt @@ -39,7 +39,7 @@ target_include_directories(pathstroke PUBLIC # special case begin if(NOT TARGET painting_shared::painting_shared) - add_subdirectory(../shared painting_shared) + include(../shared/use_lib.cmake) endif() # special case end diff --git a/examples/widgets/painting/shared/CMakeLists.txt b/examples/widgets/painting/shared/CMakeLists.txt index 9d43e4a980..0fc65d3d99 100644 --- a/examples/widgets/painting/shared/CMakeLists.txt +++ b/examples/widgets/painting/shared/CMakeLists.txt @@ -1,14 +1,6 @@ # special case skip regeneration # 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::painting_shared ALIAS painting_shared) qt6_wrap_cpp(moc_files arthurwidgets.h hoverpoints.h) # no automoc for OBJECT libs:-/ diff --git a/examples/widgets/painting/shared/use_lib.cmake b/examples/widgets/painting/shared/use_lib.cmake new file mode 100644 index 0000000000..11e9c2cf71 --- /dev/null +++ b/examples/widgets/painting/shared/use_lib.cmake @@ -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) |