CMake: fix installation of demos projects

Projects need install instructions to be usable on embedded platforms.
Fix existing instructions to put files into correct places.

Fixes: QTBUG-112024
Pick-to: 6.7
Change-Id: I6a3d84edc1c67281d5497e99144c159faf0f783c
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Kimmo Ollila <kimmo.ollila@qt.io>
This commit is contained in:
Samuli Piippo 2024-01-23 12:40:50 +02:00
parent 6f0c2b21ca
commit 22315147d0
14 changed files with 62 additions and 24 deletions

View File

@ -5,6 +5,12 @@ project(FxMaterialShowroomApp LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
if(NOT DEFINED INSTALL_EXAMPLESDIR)
set(INSTALL_EXAMPLESDIR "examples")
endif()
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/demos/${PROJECT_NAME}")
find_package(Qt6 6.5 REQUIRED COMPONENTS Gui Qml Quick Quick3D)
qt_add_executable(FxMaterialShowroomApp
@ -28,3 +34,9 @@ target_link_libraries(FxMaterialShowroomApp PRIVATE
)
include(qmlmodules)
install(TARGETS FxMaterialShowroomApp
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)

View File

@ -26,6 +26,7 @@ target_link_libraries(calqlatrexample PRIVATE
Qt6::QuickControls2
)
qt6_policy(SET QTP0001 NEW)
qt_add_qml_module(calqlatrexample
URI demos.calqlatr
VERSION 1.0
@ -39,8 +40,6 @@ qt_add_qml_module(calqlatrexample
RESOURCES
"content/images/backspace.svg"
"content/images/backspace_fill.svg"
RESOURCE_PREFIX /
)
if(ANDROID)
set_target_properties(calqlatrexample

View File

@ -2,6 +2,12 @@ cmake_minimum_required(VERSION 3.21.1)
project(CarRenderingApp LANGUAGES CXX)
if(NOT DEFINED INSTALL_EXAMPLESDIR)
set(INSTALL_EXAMPLESDIR "examples")
endif()
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/demos/${PROJECT_NAME}")
find_package(Qt6 6.6 REQUIRED COMPONENTS
Core
Gui
@ -37,3 +43,9 @@ target_link_libraries(CarRenderingApp PRIVATE
)
include(${CMAKE_CURRENT_SOURCE_DIR}/qmlmodules.cmake)
install(TARGETS CarRenderingApp
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)

View File

@ -4,6 +4,12 @@
cmake_minimum_required(VERSION 3.16)
project(documentviewer LANGUAGES CXX)
if(NOT DEFINED INSTALL_EXAMPLESDIR)
set(INSTALL_EXAMPLESDIR "examples")
endif()
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/demos/documentviewer")
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets
OPTIONAL_COMPONENTS PrintSupport Pdf PdfWidgets Quick3D)
@ -11,15 +17,9 @@ qt_standard_project_setup()
add_compile_definitions(QT_NO_CAST_FROM_ASCII)
if(NOT DEFINED INSTALL_EXAMPLESDIR)
set(INSTALL_EXAMPLESDIR "examples")
endif()
if(TARGET Qt6::PrintSupport)
add_compile_definitions(QT_DOCUMENTVIEWER_PRINTSUPPORT)
endif()
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/demos/documentviewer")
add_subdirectory(app)
add_subdirectory(plugins)

View File

@ -29,7 +29,7 @@ if(TARGET Qt6::PrintSupport)
endif()
install(TARGETS jsonviewer
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}/plugins"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}/plugins"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)

View File

@ -33,7 +33,7 @@ if(TARGET Qt6::PrintSupport)
endif()
install(TARGETS pdfviewer
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}/plugins"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}/plugins"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)

View File

@ -38,7 +38,7 @@ qt_add_resources(Q3Dviewer "qml"
)
install(TARGETS Q3Dviewer
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}/plugins"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}/plugins"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)

View File

@ -28,8 +28,8 @@ if(TARGET Qt6::PrintSupport)
target_link_libraries(txtviewer PRIVATE Qt6::PrintSupport)
endif()
install(TARGETS jsonviewer
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}/plugins"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}/plugins"
install(TARGETS txtviewer
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)

View File

@ -7,6 +7,12 @@ set(APP_NAME LightningViewerExample)
project(LightningViewerExample VERSION 0.1 LANGUAGES CXX)
if(NOT DEFINED INSTALL_EXAMPLESDIR)
set(INSTALL_EXAMPLESDIR "examples")
endif()
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/demos/${PROJECT_NAME}")
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 6.5 REQUIRED COMPONENTS Quick WebSockets Positioning)
@ -43,9 +49,8 @@ set_target_properties(${APP_NAME} PROPERTIES
WIN32_EXECUTABLE TRUE
)
include(GNUInstallDirs)
install(TARGETS ${APP_NAME}
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)

View File

@ -28,7 +28,7 @@ target_link_libraries(MediaPlayerApp PRIVATE
Qt6::Quick
Qt6::Multimedia
MediaControlsplugin
MediaPlayer
MediaPlayerplugin
Configplugin
)

View File

@ -1,3 +1,5 @@
qt_add_library(MediaPlayer STATIC)
set_source_files_properties(Images.qml
PROPERTIES
QT_QML_SINGLETON_TYPE true

View File

@ -1,5 +1,7 @@
find_package(Qt6 REQUIRED COMPONENTS Gui)
qt_add_library(backendmodule STATIC)
qt_add_qml_module(backendmodule
URI Backend
VERSION 1.0

View File

@ -9,7 +9,7 @@ if(NOT DEFINED INSTALL_EXAMPLESDIR)
set(INSTALL_EXAMPLESDIR "examples")
endif()
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/quick3d/robotarm")
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/demos/robotarm")
find_package(Qt6 REQUIRED COMPONENTS Gui Qml Quick Quick3D)
qt_standard_project_setup()
@ -30,3 +30,9 @@ target_link_libraries(RobotArmApp PUBLIC
add_subdirectory(Backend)
include(${CMAKE_CURRENT_SOURCE_DIR}/qmlmodules)
install(TARGETS RobotArmApp
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)

View File

@ -19,5 +19,5 @@ set(QML_IMPORT_PATH
target_link_libraries(RobotArmApp PRIVATE
robotarm_contentplugin
RobotArmplugin
backendmodule
backendmoduleplugin
)