summaryrefslogtreecommitdiffstats
path: root/src/s60main/s60main.pro
blob: 1e3e06ac69e126a6ce5876fd5766660e67e09102 (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
# Additional Qt project file for qtmain lib on Symbian
TEMPLATE = lib
TARGET	 = qtmain
DESTDIR	 = $$QMAKE_LIBDIR_QT
QT       =

CONFIG	+= staticlib warn_on
CONFIG	-= qt shared

symbian {
    # Note: UID only needed for ensuring that no filename generation conflicts occur
    TARGET.UID3 = 0x2001E61F
    CONFIG      +=  png zlib
    CONFIG	-=  jpeg
    INCLUDEPATH	+=  tmp $$QMAKE_INCDIR_QT/QtCore $$MW_LAYER_SYSTEMINCLUDE
    SOURCES	 =  qts60main.cpp \
                    qts60main_mcrt0.cpp \
                    newallocator_hook.cpp

    # s60main needs to be built in ARM mode for GCCE to work.
    CONFIG += do_not_build_as_thumb

    # staticlib should not have any lib depencies in s60
    # This seems not to work, some hard coded libs are still added as dependency
    LIBS =

    # Workaround for abld toolchain problem to make ARMV6 qtmain.lib link with GCCE apps
    symbian-abld: QMAKE_CXXFLAGS.ARMCC += --dllimport_runtime

    # Having MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA will cause s60main.lib be unlinkable
    # against GCCE apps, so remove it
    MMP_RULES -= $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA
    symbian-armcc:QMAKE_CXXFLAGS *= --export_all_vtbl

    # Flag if exports are not frozen to avoid lookup of qtcore allocator creation function by ordinal
    contains(CONFIG, def_files_disabled): DEFINES += QT_EXPORTS_NOT_FROZEN
} else {
    error("$$_FILE_ is intended only for Symbian!")
}

include(../qbase.pri)