on xenial help sign in
reverted changes for qmltypes
972288aNick Dedekind
cmake/modules/Plugins.cmake+14−24
@@ -1,12 +1,17 @@
1−# Creates target for copying and installing qmlfiles
1+# Creates targets for copying and installing qmlfiles and generating the qmltypes file for a plugin
2#
2#
3−# export_qmlfiles(plugin sub_path)
3+# export_qmlplugin(plugin version sub_path [TARGETS target1 [target2 ...]])
4#
4#
5+# TARGETS additional install targets (eg the plugin shared object)
5#
6#
6# Two targets will be created:
7# Two targets will be created:
7# - plugin-qmlfiles - Copies the qml files (*.qml, *.js, qmldir) into the shadow build folder.
8# - 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+
8
11
9−macro(export_qmlfiles PLUGIN PLUGIN_SUBPATH)
12+macro(export_qmlplugin PLUGIN VERSION PLUGIN_SUBPATH)
13+ set(multi_value_keywords TARGETS)
14+ cmake_parse_arguments(qmlplugin "" "" "${multi_value_keywords}" ${ARGN})
10
15
11 file(GLOB QMLFILES
16 file(GLOB QMLFILES
12 *.qml
17 *.qml
@@ -20,32 +25,17 @@ macro(export_qmlfiles PLUGIN PLUGIN_SUBPATH)
20 DEPENDS ${QMLFILES}
25 DEPENDS ${QMLFILES}
21 )
26 )
22
27
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−# Two targets will 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−
43 # create the plugin.qmltypes file
28 # create the plugin.qmltypes file
44 add_custom_target(${PLUGIN}-qmltypes ALL
29 add_custom_target(${PLUGIN}-qmltypes ALL
45 COMMAND qmlplugindump -notrelocatable ${PLUGIN} ${VERSION} ${CMAKE_BINARY_DIR}/plugins > ${CMAKE_BINARY_DIR}/plugins/${PLUGIN_SUBPATH}/plugin.qmltypes
30 COMMAND qmlplugindump -notrelocatable ${PLUGIN} ${VERSION} ${CMAKE_BINARY_DIR}/plugins > ${CMAKE_BINARY_DIR}/plugins/${PLUGIN_SUBPATH}/plugin.qmltypes
46 )
31 )
47 add_dependencies(${PLUGIN}-qmltypes ${PLUGIN}-qmlfiles ${qmlplugin_TARGETS})
32 add_dependencies(${PLUGIN}-qmltypes ${PLUGIN}-qmlfiles ${qmlplugin_TARGETS})
48
33
34+ # install the qmldir file.
35+ install(FILES ${QMLFILES}
36+ DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/${PLUGIN_SUBPATH}
37+ )
38+
49 # install the qmltypes file.
39 # install the qmltypes file.
50 install(FILES ${CMAKE_BINARY_DIR}/plugins/${PLUGIN_SUBPATH}/plugin.qmltypes
40 install(FILES ${CMAKE_BINARY_DIR}/plugins/${PLUGIN_SUBPATH}/plugin.qmltypes
51 DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/${PLUGIN_SUBPATH}
41 DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/${PLUGIN_SUBPATH}
@@ -55,4 +45,4 @@ macro(export_qmlplugin PLUGIN VERSION PLUGIN_SUBPATH)
55 install(TARGETS ${qmlplugin_TARGETS}
45 install(TARGETS ${qmlplugin_TARGETS}
56 DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/${PLUGIN_SUBPATH}
46 DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/${PLUGIN_SUBPATH}
57 )
47 )
58−endmacro(export_qmlplugin)
48+endmacro(export_qmlplugin)
plugins/HudClient/CMakeLists.txt+1−2
@@ -38,6 +38,5 @@ target_link_libraries(HudClientQml
38
38
39qt5_use_modules(HudClientQml Qml)
39qt5_use_modules(HudClientQml Qml)
40
40
41−# export the qmldir qmltypes and plugin files
41+# export the qmldir and qmltypes files
42−export_qmlfiles(HudClient HudClient)
43export_qmlplugin(HudClient 0.1 HudClient TARGETS HudClientQml)
42export_qmlplugin(HudClient 0.1 HudClient TARGETS HudClientQml)
plugins/LightDM/CMakeLists.txt+1−2
@@ -35,6 +35,5 @@ target_link_libraries(LightDM-qml
35
35
36qt5_use_modules(LightDM-qml Gui Qml)
36qt5_use_modules(LightDM-qml Gui Qml)
37
37
38−# export the qmldir qmltypes and plugin files
38+# export the qmldir and qmltypes files
39−export_qmlfiles(LightDM LightDM)
40export_qmlplugin(LightDM 0.1 LightDM TARGETS LightDM-qml)
39export_qmlplugin(LightDM 0.1 LightDM TARGETS LightDM-qml)
plugins/ListViewWithPageHeader/CMakeLists.txt+1−2
@@ -33,6 +33,5 @@ target_link_libraries(ListViewWithPageHeader-qml
33
33
34qt5_use_modules(ListViewWithPageHeader-qml Qml Quick)
34qt5_use_modules(ListViewWithPageHeader-qml Qml Quick)
35
35
36−# export the qmldir qmltypes and plugin files
36+# export the qmldir and qmltypes files
37−export_qmlfiles(ListViewWithPageHeader ListViewWithPageHeader)
38export_qmlplugin(ListViewWithPageHeader 0.1 ListViewWithPageHeader TARGETS ListViewWithPageHeader-qml)
37export_qmlplugin(ListViewWithPageHeader 0.1 ListViewWithPageHeader TARGETS ListViewWithPageHeader-qml)
plugins/Ubuntu/Gestures/CMakeLists.txt+1−2
@@ -23,6 +23,5 @@ qt5_use_modules(UbuntuGestureQml Core Quick)
23# So that Foo.cpp can #include "Foo.moc"
23# So that Foo.cpp can #include "Foo.moc"
24include_directories(${CMAKE_CURRENT_BINARY_DIR})
24include_directories(${CMAKE_CURRENT_BINARY_DIR})
25
25
26−# export the qmldir qmltypes and plugin files
26+# export the qmldir and qmltypes files
27−export_qmlfiles(Ubuntu.Gestures Ubuntu/Gestures)
28export_qmlplugin(Ubuntu.Gestures 0.1 Ubuntu/Gestures TARGETS UbuntuGestureQml)
27export_qmlplugin(Ubuntu.Gestures 0.1 Ubuntu/Gestures TARGETS UbuntuGestureQml)
plugins/Unity/CMakeLists.txt+1−2
@@ -47,6 +47,5 @@ target_link_libraries(Unity-qml
47
47
48qt5_use_modules(Unity-qml Qml)
48qt5_use_modules(Unity-qml Qml)
49
49
50−# export the qmldir qmltypes and plugin files
50+# export the qmldir and qmltypes files
51−export_qmlfiles(Unity Unity)
52export_qmlplugin(Unity 0.1 Unity TARGETS Unity-qml)
51export_qmlplugin(Unity 0.1 Unity TARGETS Unity-qml)
plugins/Unity/Indicators/CMakeLists.txt+3−5
@@ -1,6 +1,3 @@
1−# export_qmlplugin macro
2−include(Plugins)
3−
4project(IndicatorsQml)
1project(IndicatorsQml)
5
2
6pkg_check_modules(QMENUMODEL REQUIRED qmenumodel)
3pkg_check_modules(QMENUMODEL REQUIRED qmenumodel)
@@ -50,5 +47,6 @@ target_link_libraries(IndicatorsQml
50
47
51qt5_use_modules(IndicatorsQml Core Qml Quick)
48qt5_use_modules(IndicatorsQml Core Qml Quick)
52
49
53−# export the qmltypes and plugin files
54−export_qmlplugin(Unity.Indicators 0.1 Unity/Indicators TARGETS IndicatorsQml)
50+install(TARGETS IndicatorsQml
51+ DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/Unity/Indicators
52+ )
plugins/Unity/Indicators/Messaging/qml/CMakeLists.txt+14−4
@@ -1,5 +1,15 @@
1−# export_qmlfiles macro
1+file(GLOB IndicatorsMessaging_QMLFILES
2−include(Plugins)
2+ *.qml
3+ *.js
4+ qmldir
5+)
3
6
4−# export the qmldir, *.qml files.
7+# copy qml & qmldir files into build directory for shadow builds
5−export_qmlfiles(Unity.Indicators.Messaging Unity/Indicators/Messaging)
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+)
plugins/Unity/Indicators/Network/CMakeLists.txt+3−6
@@ -1,6 +1,3 @@
1−# export_qmlplugin macro
2−include(Plugins)
3−
4project(IndicatorsNetworkQml)
1project(IndicatorsNetworkQml)
5
2
6pkg_check_modules(GLIB glib-2.0>=2.32)
3pkg_check_modules(GLIB glib-2.0>=2.32)
@@ -35,9 +32,9 @@ if(LIBNM_GLIB_FOUND AND LIBNM_UTIL_FOUND AND GLIB_FOUND)
35 ${LIBNM_UTIL_LIBRARIES}
32 ${LIBNM_UTIL_LIBRARIES}
36 )
33 )
37
34
38− # export the qmltypes and plugin files
39− export_qmlplugin(Unity.Indicators.Network 0.1 Unity/Indicators/Network TARGETS IndicatorsNetworkQml)
35+ install(TARGETS IndicatorsNetworkQml
40−
36+ DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/Unity/Indicators/Network
37+ )
41else()
38else()
42 message(WARNING "Missing glib or libnm dependency for the network plugin, not building")
39 message(WARNING "Missing glib or libnm dependency for the network plugin, not building")
43endif()
40endif()
plugins/Unity/Indicators/Network/qml/CMakeLists.txt+14−4
@@ -1,5 +1,15 @@
1−# export_qmlplugin macro
1+file(GLOB IndicatorsNetwork_QMLFILES
2−include(Plugins)
2+ *.qml
3+ *.js
4+ qmldir
5+)
3
6
4−# export the qmldir, *.qml files.
7+# copy qml & qmldir files into build directory for shadow builds
5−export_qmlfiles(Unity.Indicators.Network Unity/Indicators/Network)
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+)
plugins/Unity/Indicators/Network/qml/qmldir−1
@@ -1,6 +1,5 @@
1module Unity.Indicators.Network
1module Unity.Indicators.Network
2plugin IndicatorsNetworkQml
2plugin IndicatorsNetworkQml
3−typeinfo plugin.qmltypes
4
3
5NetworkPage 0.1 NetworkPage.qml
4NetworkPage 0.1 NetworkPage.qml
6AccessPoint 0.1 AccessPoint.qml
5AccessPoint 0.1 AccessPoint.qml
plugins/Unity/Indicators/qml/CMakeLists.txt+13−4
@@ -1,5 +1,14 @@
1−# export_qmlplugin macro
1+file(GLOB Indicators_QMLFILES
2−include(Plugins)
2+ *.qml
3+ qmldir
4+)
3
5
4−# export the qmldir, *.qml files.
6+# copy qml & qmldir files into build directory for shadow builds
5−export_qmlfiles(Unity.Indicators Unity/Indicators)
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+)
plugins/Unity/Indicators/qml/qmldir−1
@@ -1,6 +1,5 @@
1module Unity.Indicators
1module Unity.Indicators
2plugin IndicatorsQml
2plugin IndicatorsQml
3−typeinfo plugin.qmltypes
4
3
5BasicMenuItem 0.1 BasicMenuItem.qml
4BasicMenuItem 0.1 BasicMenuItem.qml
6ButtonMenuItem 0.1 ButtonMenuItem.qml
5ButtonMenuItem 0.1 ButtonMenuItem.qml
plugins/Utils/CMakeLists.txt+1−2
@@ -23,6 +23,5 @@ set_target_properties(Utils-qml PROPERTIES COMPILE_FLAGS -fvisibility=default)
23
23
24qt5_use_modules(Utils-qml Qml Quick)
24qt5_use_modules(Utils-qml Qml Quick)
25
25
26−# export the qmldir qmltypes and plugin files
26+# export the qmldir and qmltypes files
27−export_qmlfiles(Utils Utils)
28export_qmlplugin(Utils 0.1 Utils TARGETS Utils-qml)
27export_qmlplugin(Utils 0.1 Utils TARGETS Utils-qml)