aboutsummaryrefslogtreecommitdiff
path: root/projects.pro
blob: 1c91244ddeef6e85e9c239034b31de6c5610bf03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#####################################################################
# DirectUI project file
#####################################################################

CONFIG += ordered
TEMPLATE = subdirs

!win32 {
    !exists($${OUT_PWD}/mkspecs/meegotouchconfig.pri) {
        error("Please run ./configure before proceeding")
    }
}

include(mkspecs/common.pri)
include(mkspecs/features/meegotouch_coverage.prf)

isEqual( IN_PWD, $${OUT_PWD} ) {
    IS_OUT_OF_SOURCE = 0
} else {
    IS_OUT_OF_SOURCE = 1
}

isEmpty(M_BUILD_PARTS) { #defaults
   M_BUILD_PARTS = libs demos
} else { #make sure the build order makes sense
   contains(M_BUILD_PARTS, libs) {
       M_BUILD_PARTS -= libs
       M_BUILD_PARTS = libs $$M_BUILD_PARTS
   }
}

#process the projects
for(PROJECT, $$list($$lower($$unique(M_BUILD_PARTS)))) {
    isEqual(PROJECT, libs) {
       SUBDIRS += \
                  mmoc \
                  mgen \
                  tools/m-servicefwgen.d \
                  src \

       contains(DEFINES, HAVE_DBUS) {
           SUBDIRS += \
                  mappletrunner \
                  mapplicationextensionrunner \
                  mservicemapper \
                  mthemedaemon \
                  tools
       }
    } else:isEqual(PROJECT, tests) {
       SUBDIRS += tests
       macx:SUBDIRS -= tests
       win32:SUBDIRS -= tests
    } else:isEqual(PROJECT, benchmarks) {
       SUBDIRS += benchmarks
       macx:SUBDIRS -= benchmarks
       win32:SUBDIRS -= benchmarks
    }  else:isEqual(PROJECT, demos) {
       SUBDIRS += demos
    }  else:isEqual(PROJECT, examples) {
       SUBDIRS += examples
    } else {
       message(Unknown PROJECT: $$PROJECT)
    }
}

# put mmoc, mgen and src dirs in right build order...

contains( SUBDIRS, src ) {
    SUBDIRS -= src
    SUBDIRS = src $$SUBDIRS
}

contains( SUBDIRS, mmoc ) {
    SUBDIRS -= mmoc
        SUBDIRS = mmoc $$SUBDIRS
	}

contains( SUBDIRS, mgen ) {
    SUBDIRS -= mgen
    SUBDIRS = mgen $$SUBDIRS
}

# Docs are always explicitly built with "make doc"
include(doc/doc.pri)

# note: proper way to clean up extradata would be running pkgdata --clean...
# but listing *.a & *.o is easier with qmake
QMAKE_CLEAN += lib/libmeegotouch* build-stamp configure-stamp tests/*/*.log.xml tests/*/*.log *.log.xml *.log **/*.gcda extradata/*.o extradata/*.a
QMAKE_DISTCLEAN += lib/libmeegotouch* build-stamp configure-stamp tests/*/*.log.xml tests/*/*.log *.log.xml *.log **/*.gcda extradata/*.o extradata/*.a mkspecs/meegotouchconfig.pri src/data/*.pc

check.target = check
check.CONFIG = recursive
QMAKE_EXTRA_TARGETS += check

check-xml.target = check-xml
check-xml.CONFIG = recursive
QMAKE_EXTRA_TARGETS += check-xml

# "make setup" can be used to install the minimal necessary data to run the
# MeeGo Touch demo applications inside the build tree.
setup.target = setup
setup.CONFIG += no_check_exist
setup.commands = mkdir -p $$M_TARGETS_CONF_DIR
setup.commands += && cp src/data/targets/*.conf $$M_TARGETS_CONF_DIR
setup.commands += && GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) gconftool-2 --makefile-install-rule src/data/meegotouch.schemas
QMAKE_EXTRA_TARGETS += setup