From c6b06f07d4fdd62698e91ece75acba1f2c1748cc Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <daniel.molkentin@nokia.com>
Date: Tue, 22 Nov 2011 13:48:40 +0100
Subject: Fix "make install" for declarative examples

Reviewed-by: Oswald Buddenhagen
---
 demos/demos.pro                                    |  4 +++-
 demos/helper/helper.pro                            |  7 +++++++
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 12 ++++++++---
 examples/declarative/animation/animation.pro       |  8 ++++++++
 examples/declarative/declarative.pro               | 24 +++++++++++-----------
 .../declarative/imageelements/imageelements.pro    |  6 ++++++
 examples/declarative/text/fonts/fonts.pro          |  7 +++++++
 examples/declarative/text/text.pro                 |  5 +++++
 examples/declarative/threading/threading.pro       |  5 +++++
 .../touchinteraction/touchinteraction.pro          |  4 ++--
 examples/declarative/toys/toys.pro                 |  8 ++++++++
 .../declarative/ui-components/ui-components.pro    | 11 ++++++++++
 examples/examples.pro                              |  2 +-
 examples/helper/helper.pro                         |  7 +++++++
 .../qmlapplicationviewer/qmlapplicationviewer.pri  | 14 ++++++++-----
 15 files changed, 100 insertions(+), 24 deletions(-)
 create mode 100644 demos/helper/helper.pro
 create mode 100644 examples/declarative/animation/animation.pro
 create mode 100644 examples/declarative/imageelements/imageelements.pro
 create mode 100644 examples/declarative/text/fonts/fonts.pro
 create mode 100644 examples/declarative/text/text.pro
 create mode 100644 examples/declarative/threading/threading.pro
 create mode 100644 examples/declarative/toys/toys.pro
 create mode 100644 examples/declarative/ui-components/ui-components.pro
 create mode 100644 examples/helper/helper.pro

diff --git a/demos/demos.pro b/demos/demos.pro
index ed18446..41540c6 100644
--- a/demos/demos.pro
+++ b/demos/demos.pro
@@ -61,7 +61,7 @@ wince*:SUBDIRS += demos_sqlbrowser
 }
 contains(QT_CONFIG, phonon):!static:SUBDIRS += demos_mediaplayer
 contains(QT_CONFIG, webkit):contains(QT_CONFIG, svg):!symbian:SUBDIRS += demos_browser
-contains(QT_CONFIG, declarative):SUBDIRS += demos_declarative
+contains(QT_CONFIG, declarative):SUBDIRS += demos_declarative demos_helper
 contains(QT_CONFIG, multimedia):!static:SUBDIRS += demos_spectrum
 
 # install
@@ -94,6 +94,8 @@ demos_undo.subdir = undo
 demos_qtdemo.subdir = qtdemo
 demos_mediaplayer.subdir = qmediaplayer
 demos_declarative.subdir = declarative
+demos_declarative.depends = demos_helper
+demos_helper.subdir = helper
 
 #mobile demos. Requires QtMobility sources. Not included in demo build
 demos_guitartuner.subdir = mobile/guitartuner
diff --git a/demos/helper/helper.pro b/demos/helper/helper.pro
new file mode 100644
index 0000000..03b3dcd
--- /dev/null
+++ b/demos/helper/helper.pro
@@ -0,0 +1,7 @@
+TEMPLATE = subdirs
+
+# the helpers simply need a make install target, but require no compilation 
+sources.files = \
+	qmlapplicationviewer
+sources.path = $$[QT_INSTALL_DEMOS]/helper
+INSTALLS += sources
diff --git a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.pri b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.pri
index 8a51c9b..6809b64 100644
--- a/demos/helper/qmlapplicationviewer/qmlapplicationviewer.pri
+++ b/demos/helper/qmlapplicationviewer/qmlapplicationviewer.pri
@@ -75,19 +75,26 @@ symbian {
 } else:unix {
     maemo5 {
         installPrefix = /opt/$${TARGET}
+        target.path = $${installPrefix}/bin
         desktopfile.files = $${TARGET}.desktop
         desktopfile.path = /usr/share/applications/hildon
         icon.files = $${TARGET}64.png
         icon.path = /usr/share/icons/hicolor/64x64/apps
     } else:!isEmpty(MEEGO_VERSION_MAJOR) {
         installPrefix = /opt/$${TARGET}
+        target.path = $${installPrefix}/bin
         desktopfile.files = $${TARGET}_harmattan.desktop
         desktopfile.path = /usr/share/applications
         icon.files = $${TARGET}80.png
         icon.path = /usr/share/icons/hicolor/80x80/apps
     } else { # Assumed to be a Desktop Unix
-        isEmpty(desktopInstallPrefix):installPrefix = $$[QT_INSTALL_DEMOS]/$${TARGET}
-        else:installPrefix = $$desktopInstallPrefix
+        installPrefix = $$desktopInstallPrefix
+        target.path = $${installPrefix}
+        sources.files = *.cpp *.h *.desktop *.png *.pro *.qml *.qmlproject *.svg
+        sources.path = $$desktopInstallPrefix
+        export(sources.files)
+        export(sources.path)
+        INSTALLS += sources
         copyCommand =
         for(deploymentfolder, DEPLOYMENTFOLDERS) {
             source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
@@ -135,7 +142,6 @@ symbian {
         INSTALLS += icon desktopfile
     }
 
-    target.path = $${installPrefix}/bin
     export(target.path)
     INSTALLS += target
 }
diff --git a/examples/declarative/animation/animation.pro b/examples/declarative/animation/animation.pro
new file mode 100644
index 0000000..a71df66
--- /dev/null
+++ b/examples/declarative/animation/animation.pro
@@ -0,0 +1,8 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+    basics/property-animation \
+    basics/color-animation \
+    easing \
+    behaviors/behavior-example \
+    states
diff --git a/examples/declarative/declarative.pro b/examples/declarative/declarative.pro
index f10e7a4..684dd2a 100644
--- a/examples/declarative/declarative.pro
+++ b/examples/declarative/declarative.pro
@@ -2,9 +2,20 @@ TEMPLATE = subdirs
 
 # These examples contain some C++ and need to be built
 SUBDIRS = \
+   animation \
    cppextensions \
    modelviews \
-   tutorials 
+   i18n \
+   imageelements \
+   keyinteraction/focus \
+   positioners \
+   sqllocalstorage \
+   text \
+   threading \
+   tutorials \
+   touchinteraction \
+   toys \
+   ui-components
 
 # OpenGL shader examples requires opengl and they contain some C++ and need to be built
 contains(QT_CONFIG, opengl): SUBDIRS += shadereffects
@@ -14,18 +25,7 @@ symbian:SUBDIRS -= plugins
 
 # These examples contain no C++ and can simply be copied
 sources.files = \
-   animation \
    cppextensions \
-   i18n \
-   imageelements \
-   keyinteraction \
-   positioners \
-   sqllocalstorage \
-   text \
-   threading \
-   touchinteraction \
-   toys \
-   ui-components \
    xml
 
 sources.path = $$[QT_INSTALL_EXAMPLES]/declarative
diff --git a/examples/declarative/imageelements/imageelements.pro b/examples/declarative/imageelements/imageelements.pro
new file mode 100644
index 0000000..8aa9920
--- /dev/null
+++ b/examples/declarative/imageelements/imageelements.pro
@@ -0,0 +1,6 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+    borderimage \
+    image \
+    shadows
diff --git a/examples/declarative/text/fonts/fonts.pro b/examples/declarative/text/fonts/fonts.pro
new file mode 100644
index 0000000..3710ab2
--- /dev/null
+++ b/examples/declarative/text/fonts/fonts.pro
@@ -0,0 +1,7 @@
+TEMPLATE += subdirs
+
+SUBDIRS += \
+    availableFonts \
+    banner \
+    fonts \
+    hello
diff --git a/examples/declarative/text/text.pro b/examples/declarative/text/text.pro
new file mode 100644
index 0000000..4e86deb
--- /dev/null
+++ b/examples/declarative/text/text.pro
@@ -0,0 +1,5 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+    fonts \
+    textselection
diff --git a/examples/declarative/threading/threading.pro b/examples/declarative/threading/threading.pro
new file mode 100644
index 0000000..5650861
--- /dev/null
+++ b/examples/declarative/threading/threading.pro
@@ -0,0 +1,5 @@
+TEMPLATE = subdirs
+
+SUBDIRS = \
+    threadedlistmodel \
+    workerscript
diff --git a/examples/declarative/touchinteraction/touchinteraction.pro b/examples/declarative/touchinteraction/touchinteraction.pro
index 1beaeab..5ce0abe 100644
--- a/examples/declarative/touchinteraction/touchinteraction.pro
+++ b/examples/declarative/touchinteraction/touchinteraction.pro
@@ -1,4 +1,4 @@
 TEMPLATE      = subdirs
-SUBDIRS       = gestures \
-                mousearea \
+SUBDIRS       = gestures/experimental-gestures \
+                mousearea/mousearea-example \
                 pincharea
diff --git a/examples/declarative/toys/toys.pro b/examples/declarative/toys/toys.pro
new file mode 100644
index 0000000..5c7f70b
--- /dev/null
+++ b/examples/declarative/toys/toys.pro
@@ -0,0 +1,8 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+    clocks \
+    corkboards \
+    dynamicscene \
+    tic-tac-toe \
+    tvtennis
diff --git a/examples/declarative/ui-components/ui-components.pro b/examples/declarative/ui-components/ui-components.pro
new file mode 100644
index 0000000..62d1cdf
--- /dev/null
+++ b/examples/declarative/ui-components/ui-components.pro
@@ -0,0 +1,11 @@
+TEMPLATE = subdirs
+
+SUBDIRS += dialcontrol \
+           flipable \
+           main \
+           progressbar \
+           scrollbar \
+           searchbox \
+           slideswitch \
+           spinner \
+           tabwidget
diff --git a/examples/examples.pro b/examples/examples.pro
index 0c4c9cb..810e51a 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -62,7 +62,7 @@ embedded:SUBDIRS += qws
 contains(QT_CONFIG, opengl): SUBDIRS += opengl
 contains(QT_CONFIG, openvg): SUBDIRS += openvg
 contains(QT_CONFIG, dbus): SUBDIRS += dbus
-contains(QT_CONFIG, declarative): SUBDIRS += declarative
+contains(QT_CONFIG, declarative): SUBDIRS += declarative helper
 win32:!win32-g++*: SUBDIRS += activeqt
 contains(QT_CONFIG, xmlpatterns):!contains(QT_CONFIG, no-gui): SUBDIRS += xmlpatterns
 contains(DEFINES, QT_NO_CURSOR): SUBDIRS -= mainwindows
diff --git a/examples/helper/helper.pro b/examples/helper/helper.pro
new file mode 100644
index 0000000..34963bd
--- /dev/null
+++ b/examples/helper/helper.pro
@@ -0,0 +1,7 @@
+TEMPLATE = subdirs
+
+# the helpers simply need a make install target, but require no compilation 
+sources.files = \
+	qmlapplicationviewer
+sources.path = $$[QT_INSTALL_EXAMPLES]/helper
+INSTALLS += sources
diff --git a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri
index de03b4c..6809b64 100644
--- a/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri
+++ b/examples/helper/qmlapplicationviewer/qmlapplicationviewer.pri
@@ -75,19 +75,26 @@ symbian {
 } else:unix {
     maemo5 {
         installPrefix = /opt/$${TARGET}
+        target.path = $${installPrefix}/bin
         desktopfile.files = $${TARGET}.desktop
         desktopfile.path = /usr/share/applications/hildon
         icon.files = $${TARGET}64.png
         icon.path = /usr/share/icons/hicolor/64x64/apps
     } else:!isEmpty(MEEGO_VERSION_MAJOR) {
         installPrefix = /opt/$${TARGET}
+        target.path = $${installPrefix}/bin
         desktopfile.files = $${TARGET}_harmattan.desktop
         desktopfile.path = /usr/share/applications
         icon.files = $${TARGET}80.png
         icon.path = /usr/share/icons/hicolor/80x80/apps
     } else { # Assumed to be a Desktop Unix
-        isEmpty(desktopInstallPrefix):installPrefix = $$[QT_INSTALL_DEMOS]/$${TARGET}
-        else:installPrefix = $$desktopInstallPrefix
+        installPrefix = $$desktopInstallPrefix
+        target.path = $${installPrefix}
+        sources.files = *.cpp *.h *.desktop *.png *.pro *.qml *.qmlproject *.svg
+        sources.path = $$desktopInstallPrefix
+        export(sources.files)
+        export(sources.path)
+        INSTALLS += sources
         copyCommand =
         for(deploymentfolder, DEPLOYMENTFOLDERS) {
             source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
@@ -135,10 +142,7 @@ symbian {
         INSTALLS += icon desktopfile
     }
 
-    target.path = $${installPrefix}/bin
     export(target.path)
-    message($$target)
-    message($$installPrefix)
     INSTALLS += target
 }
 
-- 
cgit v0.12