Re-work the CMake project files for the plugandpaint example
Move the project prelude to examples/widgets/tools/plugandpaint/CMakeLists.txt to mark it as the entry point of the example project. Remove the project prelude from all its subdirectories, because the subdirs are not supposed to be built separately. Remove the wrong code that pro2cmake generated for the application's project file. That merely tried to link the basictools static plugin. Move common initialization code (CMAKE_AUTO*, INSTALL_EXAMPLESDIR) to the top-level plugandpaint project file. Remove superfluous CMAKE_INCLUDE_CURRENT_DIR. Set the output directory of the extrafilters plugin to the application's build directory such that the app can find the plugin without having to install the example. Skip regeneration in those files, to avoid scattering the project files with special case markers. Fixes: QTBUG-87449 Fixes: QTBUG-91066 Change-Id: I3ceb08f5fcda1ffea3c35cee8580f7b5e4ecfc1f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
a239045d59
commit
4caac1feea
@ -14,5 +14,9 @@ add_subdirectory(undoframework)
|
||||
|
||||
if(QT_FEATURE_library) # special case
|
||||
add_subdirectory(echoplugin)
|
||||
add_subdirectory(plugandpaint) # special case
|
||||
# special case begin
|
||||
if(QT_FEATURE_inputdialog)
|
||||
add_subdirectory(plugandpaint)
|
||||
endif()
|
||||
# special case end
|
||||
endif()
|
||||
|
@ -1,7 +1,19 @@
|
||||
# Generated from plugandpaint.pro.
|
||||
# special case skip regeneration
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
project(plugandpaint LANGUAGES CXX)
|
||||
|
||||
if(NOT QT_FEATURE_inputdialog)
|
||||
return()
|
||||
find_package(Qt6 COMPONENTS Core Gui Widgets)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
if(NOT DEFINED INSTALL_EXAMPLESDIR)
|
||||
set(INSTALL_EXAMPLESDIR "examples")
|
||||
endif()
|
||||
|
||||
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/widgets/tools/plugandpaint")
|
||||
|
||||
add_subdirectory(plugins)
|
||||
add_subdirectory(app)
|
||||
|
@ -1,23 +1,5 @@
|
||||
# Generated from app.pro.
|
||||
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
project(plugandpaint LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
if(NOT DEFINED INSTALL_EXAMPLESDIR)
|
||||
set(INSTALL_EXAMPLESDIR "examples")
|
||||
endif()
|
||||
|
||||
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/widgets/tools/plugandpaint")
|
||||
|
||||
find_package(Qt6 COMPONENTS Core)
|
||||
find_package(Qt6 COMPONENTS Gui)
|
||||
find_package(Qt6 COMPONENTS Widgets)
|
||||
# special case skip regeneration
|
||||
|
||||
qt_add_executable(plugandpaint
|
||||
interfaces.h
|
||||
@ -31,43 +13,9 @@ set_target_properties(plugandpaint PROPERTIES
|
||||
MACOSX_BUNDLE TRUE
|
||||
)
|
||||
target_link_libraries(plugandpaint PUBLIC
|
||||
# Remove: L../plugins
|
||||
Qt::Core
|
||||
Qt::Gui
|
||||
Qt::Widgets
|
||||
pnp_basictools # special case
|
||||
pnp_basictools
|
||||
)
|
||||
target_link_libraries(plugandpaint PUBLIC pnp_basictools) # special case
|
||||
|
||||
if(macx-xcode)
|
||||
target_link_libraries(plugandpaint PUBLIC
|
||||
(
|
||||
)
|
||||
pnp_basictools$
|
||||
)
|
||||
endif()
|
||||
|
||||
if(NOT macx-xcode)
|
||||
target_link_libraries(plugandpaint PUBLIC
|
||||
pnp_basictools
|
||||
)
|
||||
endif()
|
||||
|
||||
if(((NOT (macx-xcode)) AND (( NOT debug_and_release OR build_pass ) AND CONFIG(debug,debug OR release))) AND (APPLE))
|
||||
target_link_libraries(plugandpaint PUBLIC
|
||||
(LIBS, 0)
|
||||
(LIBS, 1)
|
||||
_debug
|
||||
)
|
||||
endif()
|
||||
|
||||
if(((NOT (macx-xcode)) AND (( NOT debug_and_release OR build_pass ) AND CONFIG(debug,debug OR release))) AND (WIN32))
|
||||
target_link_libraries(plugandpaint PUBLIC
|
||||
(LIBS, 0)
|
||||
(LIBS, 1)
|
||||
d
|
||||
)
|
||||
endif()
|
||||
|
||||
install(TARGETS plugandpaint
|
||||
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
|
||||
|
@ -1,23 +1,5 @@
|
||||
# Generated from basictools.pro.
|
||||
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
project(pnp_basictools LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
if(NOT DEFINED INSTALL_EXAMPLESDIR)
|
||||
set(INSTALL_EXAMPLESDIR "examples")
|
||||
endif()
|
||||
|
||||
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/widgets/tools/plugandpaint/plugins")
|
||||
|
||||
find_package(Qt6 COMPONENTS Core)
|
||||
find_package(Qt6 COMPONENTS Gui)
|
||||
find_package(Qt6 COMPONENTS Widgets)
|
||||
# special case skip regeneration
|
||||
|
||||
qt_add_plugin(pnp_basictools STATIC)
|
||||
target_sources(pnp_basictools PRIVATE
|
||||
@ -36,9 +18,3 @@ target_link_libraries(pnp_basictools PUBLIC
|
||||
Qt::Gui
|
||||
Qt::Widgets
|
||||
)
|
||||
|
||||
install(TARGETS pnp_basictools
|
||||
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
|
||||
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
|
||||
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
|
||||
)
|
||||
|
@ -1,31 +1,13 @@
|
||||
# Generated from extrafilters.pro.
|
||||
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
project(pnp_extrafilters LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
if(NOT DEFINED INSTALL_EXAMPLESDIR)
|
||||
set(INSTALL_EXAMPLESDIR "examples")
|
||||
endif()
|
||||
|
||||
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/widgets/tools/plugandpaint/plugins")
|
||||
|
||||
find_package(Qt6 COMPONENTS Core)
|
||||
find_package(Qt6 COMPONENTS Gui)
|
||||
find_package(Qt6 COMPONENTS Widgets)
|
||||
# special case skip regeneration
|
||||
|
||||
qt_add_plugin(pnp_extrafilters)
|
||||
target_sources(pnp_extrafilters PRIVATE
|
||||
extrafiltersplugin.cpp extrafiltersplugin.h
|
||||
)
|
||||
set_target_properties(pnp_extrafilters PROPERTIES
|
||||
WIN32_EXECUTABLE TRUE
|
||||
MACOSX_BUNDLE TRUE
|
||||
LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/app"
|
||||
)
|
||||
target_include_directories(pnp_extrafilters PUBLIC
|
||||
../../app
|
||||
@ -38,7 +20,6 @@ target_link_libraries(pnp_extrafilters PUBLIC
|
||||
)
|
||||
|
||||
install(TARGETS pnp_extrafilters
|
||||
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
|
||||
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
|
||||
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
|
||||
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}/plugins"
|
||||
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}/plugins"
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user