on xenial help sign in
Split Plugins export macro into export_qmlfiles and export_qmlplugins.

Added qmltypes to indicators plugin. Approved by PS Jenkins bot, Daniel d'Andrada.

commit7f2b03b22d84f53dfb636cc16ee073361e65d4cd authorNick Dedekind <nicholas.dedekind@gmail.com> dateTue 16 Jul 2013, 22:16 (13 years ago) parenta841ebd5c58f8c
16 files changed+64−68
cmake/modules/Plugins.cmake+25−15 plugins/HudClient/CMakeLists.txt+2−1 plugins/LightDM/CMakeLists.txt+2−1 plugins/ListViewWithPageHeader/CMakeLists.txt+2−1 plugins/Ubuntu/Gestures/CMakeLists.txt+2−1 plugins/Unity/CMakeLists.txt+2−1 plugins/Unity/Indicators/CMakeLists.txt+5−3 plugins/Unity/Indicators/Messaging/qml/CMakeLists.txt+4−14 plugins/Unity/Indicators/Network/CMakeLists.txt+6−3 plugins/Unity/Indicators/Network/qml/CMakeLists.txt+4−14 plugins/Unity/Indicators/Network/qml/qmldir+1 plugins/Unity/Indicators/qml/CMakeLists.txt+4−13 plugins/Unity/Indicators/qml/qmldir+1 plugins/Unity/Launcher/CMakeLists.txt+1 plugins/Unity/Launcher/qmldir+1 plugins/Utils/CMakeLists.txt+2−1
cmake/modules/Plugins.cmake+25−15
@@ -1,17 +1,12 @@
1−# Creates targets for copying and installing qmlfiles and generating the qmltypes file for a plugin
1+# Creates target for copying and installing qmlfiles
22#
3−# export_qmlplugin(plugin version sub_path [TARGETS target1 [target2 ...]])
3+# export_qmlfiles(plugin sub_path)
44#
5−# TARGETS additional install targets (eg the plugin shared object)
65#
7−# Two targets will be created:
6+# Target to be created:
87# - plugin-qmlfiles - Copies the qml files (*.qml, *.js, qmldir) into the shadow build folder.
9−# - plugin-qmltypes - Generates the qmltypes file in the shadow build folder.
10−
118
12−macro(export_qmlplugin PLUGIN VERSION PLUGIN_SUBPATH)
13− set(multi_value_keywords TARGETS)
14− cmake_parse_arguments(qmlplugin "" "" "${multi_value_keywords}" ${ARGN})
9+macro(export_qmlfiles PLUGIN PLUGIN_SUBPATH)
1510
1611 file(GLOB QMLFILES
1712 *.qml
@@ -25,17 +20,32 @@ macro(export_qmlplugin PLUGIN VERSION PLUGIN_SUBPATH)
2520 DEPENDS ${QMLFILES}
2621 )
2722
23+ # install the qmlfiles file.
24+ install(FILES ${QMLFILES}
25+ DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/${PLUGIN_SUBPATH}
26+ )
27+endmacro(export_qmlfiles)
28+
29+
30+# Creates target for generating the qmltypes file for a plugin and installs plugin files
31+#
32+# export_qmlplugin(plugin version sub_path [TARGETS target1 [target2 ...]])
33+#
34+# TARGETS additional install targets (eg the plugin shared object)
35+#
36+# Target to be created:
37+# - plugin-qmltypes - Generates the qmltypes file in the shadow build folder.
38+
39+macro(export_qmlplugin PLUGIN VERSION PLUGIN_SUBPATH)
40+ set(multi_value_keywords TARGETS)
41+ cmake_parse_arguments(qmlplugin "" "" "${multi_value_keywords}" ${ARGN})
42+
2843 # create the plugin.qmltypes file
2944 add_custom_target(${PLUGIN}-qmltypes ALL
3045 COMMAND qmlplugindump -notrelocatable ${PLUGIN} ${VERSION} ${CMAKE_BINARY_DIR}/plugins > ${CMAKE_BINARY_DIR}/plugins/${PLUGIN_SUBPATH}/plugin.qmltypes
3146 )
3247 add_dependencies(${PLUGIN}-qmltypes ${PLUGIN}-qmlfiles ${qmlplugin_TARGETS})
3348
34− # install the qmldir file.
35− install(FILES ${QMLFILES}
36− DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/${PLUGIN_SUBPATH}
37− )
38−
3949 # install the qmltypes file.
4050 install(FILES ${CMAKE_BINARY_DIR}/plugins/${PLUGIN_SUBPATH}/plugin.qmltypes
4151 DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/${PLUGIN_SUBPATH}
@@ -45,4 +55,4 @@ macro(export_qmlplugin PLUGIN VERSION PLUGIN_SUBPATH)
4555 install(TARGETS ${qmlplugin_TARGETS}
4656 DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/${PLUGIN_SUBPATH}
4757 )
48−endmacro(export_qmlplugin)
58+endmacro(export_qmlplugin)
plugins/HudClient/CMakeLists.txt+2−1
@@ -38,5 +38,6 @@ target_link_libraries(HudClientQml
3838
3939qt5_use_modules(HudClientQml Qml)
4040
41−# export the qmldir and qmltypes files
41+# export the qmldir qmltypes and plugin files
42+export_qmlfiles(HudClient HudClient)
4243export_qmlplugin(HudClient 0.1 HudClient TARGETS HudClientQml)
plugins/LightDM/CMakeLists.txt+2−1
@@ -35,5 +35,6 @@ target_link_libraries(LightDM-qml
3535
3636qt5_use_modules(LightDM-qml Gui Qml)
3737
38−# export the qmldir and qmltypes files
38+# export the qmldir qmltypes and plugin files
39+export_qmlfiles(LightDM LightDM)
3940export_qmlplugin(LightDM 0.1 LightDM TARGETS LightDM-qml)
plugins/ListViewWithPageHeader/CMakeLists.txt+2−1
@@ -33,5 +33,6 @@ target_link_libraries(ListViewWithPageHeader-qml
3333
3434qt5_use_modules(ListViewWithPageHeader-qml Qml Quick)
3535
36−# export the qmldir and qmltypes files
36+# export the qmldir qmltypes and plugin files
37+export_qmlfiles(ListViewWithPageHeader ListViewWithPageHeader)
3738export_qmlplugin(ListViewWithPageHeader 0.1 ListViewWithPageHeader TARGETS ListViewWithPageHeader-qml)
plugins/Ubuntu/Gestures/CMakeLists.txt+2−1
@@ -23,5 +23,6 @@ qt5_use_modules(UbuntuGestureQml Core Quick)
2323# So that Foo.cpp can #include "Foo.moc"
2424include_directories(${CMAKE_CURRENT_BINARY_DIR})
2525
26−# export the qmldir and qmltypes files
26+# export the qmldir qmltypes and plugin files
27+export_qmlfiles(Ubuntu.Gestures Ubuntu/Gestures)
2728export_qmlplugin(Ubuntu.Gestures 0.1 Ubuntu/Gestures TARGETS UbuntuGestureQml)
plugins/Unity/CMakeLists.txt+2−1
@@ -48,7 +48,8 @@ target_link_libraries(Unity-qml
4848
4949qt5_use_modules(Unity-qml Qml)
5050
51−# export the qmldir and qmltypes files
51+# export the qmldir qmltypes and plugin files
52+export_qmlfiles(Unity Unity)
5253export_qmlplugin(Unity 0.1 Unity TARGETS Unity-qml)
5354
5455add_subdirectory(Launcher)
plugins/Unity/Indicators/CMakeLists.txt+5−3
@@ -1,3 +1,6 @@
1+# export_qmlplugin macro
2+include(Plugins)
3+
14project(IndicatorsQml)
25
36pkg_check_modules(QMENUMODEL REQUIRED qmenumodel)
@@ -47,6 +50,5 @@ target_link_libraries(IndicatorsQml
4750
4851qt5_use_modules(IndicatorsQml Core Qml Quick)
4952
50−install(TARGETS IndicatorsQml
51− DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/Unity/Indicators
52− )
53+# export the qmltypes and plugin files
54+export_qmlplugin(Unity.Indicators 0.1 Unity/Indicators TARGETS IndicatorsQml)
plugins/Unity/Indicators/Messaging/qml/CMakeLists.txt+4−14
@@ -1,15 +1,5 @@
1−file(GLOB IndicatorsMessaging_QMLFILES
2− *.qml
3− *.js
4− qmldir
5−)
1+# export_qmlfiles macro
2+include(Plugins)
63
7−# copy qml & qmldir files into build directory for shadow builds
8−add_custom_target(UnityIndicatorsMessagingQmlFiles ALL
9− COMMAND cp ${IndicatorsMessaging_QMLFILES} ${CMAKE_BINARY_DIR}/plugins/Unity/Indicators/Messaging
10− DEPENDS ${IndicatorsMessaging_QMLFILES}
11−)
12−
13−install(FILES ${IndicatorsMessaging_QMLFILES}
14− DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/Unity/Indicators/Messaging
15−)
4+# export the qmldir, *.qml files.
5+export_qmlfiles(Unity.Indicators.Messaging Unity/Indicators/Messaging)
plugins/Unity/Indicators/Network/CMakeLists.txt+6−3
@@ -1,3 +1,6 @@
1+# export_qmlplugin macro
2+include(Plugins)
3+
14project(IndicatorsNetworkQml)
25
36pkg_check_modules(GLIB glib-2.0>=2.32)
@@ -32,9 +35,9 @@ if(LIBNM_GLIB_FOUND AND LIBNM_UTIL_FOUND AND GLIB_FOUND)
3235 ${LIBNM_UTIL_LIBRARIES}
3336 )
3437
35− install(TARGETS IndicatorsNetworkQml
36− DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/Unity/Indicators/Network
37− )
38+ # export the qmltypes and plugin files
39+ export_qmlplugin(Unity.Indicators.Network 0.1 Unity/Indicators/Network TARGETS IndicatorsNetworkQml)
40+
3841else()
3942 message(WARNING "Missing glib or libnm dependency for the network plugin, not building")
4043endif()
plugins/Unity/Indicators/Network/qml/CMakeLists.txt+4−14
@@ -1,15 +1,5 @@
1−file(GLOB IndicatorsNetwork_QMLFILES
2− *.qml
3− *.js
4− qmldir
5−)
1+# export_qmlplugin macro
2+include(Plugins)
63
7−# copy qml & qmldir files into build directory for shadow builds
8−add_custom_target(UnityIndicatorsNetworkQmlFiles ALL
9− COMMAND cp ${IndicatorsNetwork_QMLFILES} ${CMAKE_BINARY_DIR}/plugins/Unity/Indicators/Network
10− DEPENDS ${IndicatorsNetwork_QMLFILES}
11−)
12−
13−install(FILES ${IndicatorsNetwork_QMLFILES}
14− DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/Unity/Indicators/Network
15−)
4+# export the qmldir, *.qml files.
5+export_qmlfiles(Unity.Indicators.Network Unity/Indicators/Network)
plugins/Unity/Indicators/Network/qml/qmldir+1
@@ -1,5 +1,6 @@
11module Unity.Indicators.Network
22plugin IndicatorsNetworkQml
3+typeinfo plugin.qmltypes
34
45NetworkPage 0.1 NetworkPage.qml
56AccessPoint 0.1 AccessPoint.qml
plugins/Unity/Indicators/qml/CMakeLists.txt+4−13
@@ -1,14 +1,5 @@
1−file(GLOB Indicators_QMLFILES
2− *.qml
3− qmldir
4−)
1+# export_qmlplugin macro
2+include(Plugins)
53
6−# copy qml & qmldir files into build directory for shadow builds
7−add_custom_target(UnityIndicatorsQmlFiles ALL
8− COMMAND cp ${Indicators_QMLFILES} ${CMAKE_BINARY_DIR}/plugins/Unity/Indicators
9− DEPENDS ${Indicators_QMLFILES}
10−)
11−
12−install(FILES ${Indicators_QMLFILES}
13− DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/Unity/Indicators
14−)
4+# export the qmldir, *.qml files.
5+export_qmlfiles(Unity.Indicators Unity/Indicators)
plugins/Unity/Indicators/qml/qmldir+1
@@ -1,5 +1,6 @@
11module Unity.Indicators
22plugin IndicatorsQml
3+typeinfo plugin.qmltypes
34
45BasicMenuItem 0.1 BasicMenuItem.qml
56ButtonMenuItem 0.1 ButtonMenuItem.qml
plugins/Unity/Launcher/CMakeLists.txt+1
@@ -24,4 +24,5 @@ add_library(UnityLauncher-qml MODULE
2424qt5_use_modules(UnityLauncher-qml Qml)
2525
2626# export the qmldir and qmltypes files
27+export_qmlfiles(Unity.Launcher Unity/Launcher)
2728export_qmlplugin(Unity.Launcher 0.1 Unity/Launcher TARGETS UnityLauncher-qml)
plugins/Unity/Launcher/qmldir+1
@@ -1,2 +1,3 @@
11module Unity.Launcher
22plugin UnityLauncher-qml
3+typeinfo plugin.qmltypes
plugins/Utils/CMakeLists.txt+2−1
@@ -23,5 +23,6 @@ set_target_properties(Utils-qml PROPERTIES COMPILE_FLAGS -fvisibility=default)
2323
2424qt5_use_modules(Utils-qml Qml Quick)
2525
26−# export the qmldir and qmltypes files
26+# export the qmldir qmltypes and plugin files
27+export_qmlfiles(Utils Utils)
2728export_qmlplugin(Utils 0.1 Utils TARGETS Utils-qml)