qtepong.pri 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. #
  2. # EPong Qt project.
  3. #
  4. TARGET = qtepong
  5. TEMPLATE = app
  6. QT += core gui
  7. CONFIG += mobility
  8. MOBILITY = systeminfo
  9. #DEFINES += QTGAMEENABLER_USE_VOLUME_HACK # Symbian-specific, crashes with Symbian^3 Belle
  10. #DEFINES += TRIAL_VERSION
  11. # audio related options
  12. DEFINES += USE_OGG
  13. DEFINES += USE_PUSH_AUDIO_OUT
  14. # rendering options
  15. #DEFINES += USE_GLES11
  16. #DEFINES += USE_GLES20
  17. #DEFINES += USE_OPENVG
  18. # debug logging
  19. #DEFINES += EPONG_DEBUG
  20. #DEFINES += GE_DEBUG
  21. #DEFINES += QT_NO_DEBUG_OUTPUT
  22. INCLUDEPATH += $$PWD/../game_engine/ $$PWD/../epong_game_logic/
  23. # Game sources
  24. SOURCES += \
  25. $$PWD/../epong_game_logic/PongApp.cpp \
  26. $$PWD/../epong_game_logic/stb_vorbis.c \
  27. $$PWD/../epong_game_logic/PongGame.cpp \
  28. $$PWD/../epong_game_logic/PongObject.cpp \
  29. $$PWD/../epong_game_logic/ParticleEngine.cpp \
  30. $$PWD/../epong_game_logic/FontWriter.cpp \
  31. $$PWD/../epong_game_logic/GameMenu.cpp \
  32. $$PWD/../epong_game_logic/PongBackground.cpp \
  33. $$PWD/../epong_game_logic/PongHighScores.cpp \
  34. $$PWD/../epong_game_logic/PongCredits.cpp \
  35. $$PWD/../epong_game_logic/MusicPlayer.cpp
  36. HEADERS += \
  37. $$PWD/../epong_game_logic/PongApp.h \
  38. $$PWD/../epong_game_logic/PongGame.h \
  39. $$PWD/../epong_game_logic/PongObject.h \
  40. $$PWD/../epong_game_logic/ParticleEngine.h \
  41. $$PWD/../epong_game_logic/FontWriter.h \
  42. $$PWD/../epong_game_logic/GameMenu.h \
  43. $$PWD/../epong_game_logic/PongBackground.h \
  44. $$PWD/../epong_game_logic/PongHighScores.h \
  45. $$PWD/../epong_game_logic/PongCredits.h \
  46. $$PWD/../epong_game_logic/MusicPlayer.h \
  47. $$PWD/../epong_game_logic/stb_vorbis.h
  48. # Game engine
  49. SOURCES += \
  50. $$PWD/../game_engine/GameEngine.cpp \
  51. $$PWD/../game_engine/GameApp.cpp \
  52. $$PWD/../game_engine/AudioInterfaces.cpp \
  53. $$PWD/../game_engine/AudioBuffer.cpp \
  54. $$PWD/../game_engine/eglutils.cpp \
  55. $$PWD/../game_engine/audiosourceif.cpp
  56. HEADERS += \
  57. $$PWD/../game_engine/GameEngine.h \
  58. $$PWD/../game_engine/GameApp.h \
  59. $$PWD/../game_engine/AudioInterfaces.h \
  60. $$PWD/../game_engine/AudioBuffer.h \
  61. $$PWD/../game_engine/eglutils.h \
  62. $$PWD/../game_engine/audiosourceif.h \
  63. $$PWD/../game_engine/audioout.h
  64. contains(DEFINES, USE_GLES11) {
  65. SOURCES += $$PWD/../game_engine/eglutilsgles.cpp
  66. HEADERS += $$PWD/../game_engine/eglutilsgles.h
  67. }
  68. contains(DEFINES, USE_GLES20) {
  69. SOURCES += $$PWD/../game_engine/eglutilsgles.cpp
  70. HEADERS += $$PWD/../game_engine/eglutilsgles.h
  71. }
  72. contains(DEFINES, USE_OPENVG) {
  73. SOURCES += $$PWD/../game_engine/eglutilsvg.cpp
  74. HEADERS += $$PWD/../game_engine/eglutilsvg.h
  75. }
  76. # Qt implementation of the engine
  77. SOURCES += $$PWD/main.cpp \
  78. $$PWD/QtGameEngine.cpp \
  79. $$PWD/GEAudioOut.cpp \
  80. $$PWD/accelerometerfilter.cpp \
  81. $$PWD/pushaudioout.cpp \
  82. $$PWD/pullaudioout.cpp \
  83. HEADERS += \
  84. $$PWD/QtGameEngine.h \
  85. $$PWD/GEAudioOut.h \
  86. $$PWD/accelerometerfilter.h \
  87. $$PWD/pushaudioout.h \
  88. $$PWD/pullaudioout.h \
  89. $$PWD/geglobal.h \
  90. $$PWD/trace.h \
  91. $$PWD/geglobal.h
  92. RESOURCES += \
  93. $$PWD/resources.qrc
  94. include($$PWD/../spritebatchqt/spritebatch.pri)
  95. unix:!symbian {
  96. message("Linux")
  97. !contains(MEEGO_EDITION,harmattan) {
  98. QT += multimedia
  99. }
  100. #only needed in unix desktop
  101. message($$QMAKESPEC)
  102. linux-g++-* {
  103. message("The project contains desktop ogl")
  104. message($$INCLUDEPATH)
  105. message($$LIBS)
  106. LIBS += -lX11 -lEGL -lGLESv2
  107. }
  108. }
  109. maemo5: {
  110. QT += multimedia
  111. LIBS += -lX11 -lEGL -lGLESv2
  112. }
  113. windows: {
  114. }
  115. symbian: {
  116. # FOR ENABLING HARDWARE FLOATS (old SBSv1 style)
  117. #MMP_RULES += "OPTION gcce -march=armv6"
  118. #MMP_RULES += "OPTION gcce -mfpu=vfp"
  119. #MMP_RULES += "OPTION gcce -mfloat-abi=softfp"
  120. #MMP_RULES += "OPTION gcce -marm"
  121. # VFP magic. For enabling hardware floats.
  122. QMAKE_CXXFLAGS+= -O3 -marm -march=armv6 -mfpu=vfp -mfloat-abi=softfp
  123. TARGET.UID3 = 0xef83b5a5
  124. QT += multimedia
  125. CONFIG += mobility
  126. MOBILITY += sensors feedback
  127. # Feedback for haptic.
  128. # To handle volume up / down keys on Symbian
  129. LIBS += -lremconcoreapi
  130. LIBS += -lremconinterfacebase
  131. LIBS += -llibEGL
  132. LIBS += -lcone -leikcore -lavkon
  133. # FOR UGLY VOLUMEHACK
  134. INCLUDEPATH += /epoc32/include/mmf/common
  135. INCLUDEPATH += /epoc32/include/mmf/server
  136. LIBS += -lmmfdevsound
  137. # ICON is qtepong.svg by default, but because of multi-pro builds, set working directory
  138. ICON=$$PWD/qtepong.svg
  139. # TARGET.CAPABILITY +=
  140. TARGET.EPOCSTACKSIZE = 0x14000
  141. TARGET.EPOCHEAPSIZE = 0x020000 0x800000
  142. # comment the following line and the corresponding end to use iap
  143. iap {
  144. # Notice: To get the IAP working, you must
  145. # - install debug message handler with qInstallMsgHandler or make a pause between IAPClient instantation and usage
  146. # - declare the IAPClient::ProductDataList as metatype (outside any function declaration) with
  147. # Q_DECLARE_METATYPE(IAPClient::ProductDataList) //to be able to transfer data this type with Qt::QueuedConnection
  148. # - Register (at most once?) the meta type before the IAPClient is created with:
  149. # qRegisterMetaType<IAPClient::ProductDataHash>("IAPClient::ProductDataHash");
  150. # See main.cpp and ../epong_iap_impl/miniiapqtclient.cpp
  151. CONFIG += iapppurchasing
  152. MOBILITY += serviceframework
  153. TARGET.CAPABILITY += NetworkServices
  154. LIBS += -lcaf \
  155. -lcafutils \
  156. -lapmime
  157. DEFINES += IAP
  158. SOURCES += \
  159. $$PWD/../epong_iap_impl/miniiapqtclient.cpp \
  160. $$PWD/../epong_iap_impl/drmfile.cpp \
  161. $$PWD/../epong_iap_impl/miniiapinterface.cpp \
  162. $$PWD/../epong_iap_impl/miniiapclientapi.cpp \
  163. $$PWD/../epong_iap_impl/Symbian/drmfile_p.cpp
  164. HEADERS += \
  165. $$PWD/../epong_iap_impl/miniiapinterface.h \
  166. $$PWD/../epong_iap_impl/miniiapclientapi.h \
  167. $$PWD/../epong_iap_impl/miniiapqtclient.h \
  168. $$PWD/../epong_iap_impl/epong_iap_constants.h \
  169. $$PWD/../epong_iap_impl/drmfile.h \
  170. $$PWD/../epong_iap_impl/Symbian/drmfile_p.h
  171. # to build "real" IAP, the UID3 should not start with 0xE and the TEST_MODE.txt should not be deployed
  172. # (the end of the line should be commented)
  173. addConfigFiles.sources = $$PWD/../epong_iap_impl/Data/IAP_VARIANTID.txt $$PWD/../epong_iap_impl/Data/TEST_MODE.txt
  174. addConfigFiles.path = .
  175. DEPLOYMENT += addConfigFiles
  176. addDrm_642613.sources = $$PWD/../epong_iap_impl/Data/2player.dat
  177. addDrm_642613.path = drm/data/resourceid_642613
  178. DEPLOYMENT += addDrm_642613
  179. debug: {
  180. DEFINES += IAP_DEBUG
  181. MMP_RULES -= "PAGED"
  182. MMP_RULES += "UNPAGED"
  183. }
  184. } # iap block ends
  185. }
  186. contains(MEEGO_EDITION,harmattan) {
  187. LIBS += -lEGL
  188. CONFIG += x11
  189. INCLUDEPATH += "/usr/include"
  190. DEFINES += MY_OS_MEEGO
  191. # For new GE classes
  192. DEFINES += MEEGO_EDITION_HARMATTAN
  193. CONFIG += mobility
  194. MOBILITY += sensors feedback
  195. MOBILITY += multimedia
  196. message(MEEGO HARMATTAN)
  197. # Classify the application as a game to support volume keys on Harmattan.
  198. gameclassify.files += $$PWD/qtc_packaging/qtepong.conf
  199. gameclassify.path = /usr/share/policy/etc/syspart.conf.d
  200. # from the /usr/share/qt4/mkspecs/features/qt.prf,
  201. # you can see the magic word for QtMeeGoGraphicsSystemHelper lib.
  202. # Currently, this is not available in Qt SDK
  203. QT += meegographicssystemhelper
  204. INSTALLS += gameclassify
  205. # VFP magic. For enabling hardware floats.
  206. QMAKE_CXXFLAGS+= -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=hard
  207. CONFIG += qmsystem2
  208. RESOURCES += $$PWD/meego_resources.qrc
  209. OTHER_FILES += \
  210. $$PWD/qtc_packaging/debian_fremantle/rules \
  211. $$PWD/qtc_packaging/debian_fremantle/README \
  212. $$PWD/qtc_packaging/debian_fremantle/copyright \
  213. $$PWD/qtc_packaging/debian_fremantle/control \
  214. $$PWD/qtc_packaging/debian_fremantle/compat \
  215. $$PWD/qtc_packaging/debian_fremantle/changelog \
  216. $$PWD/qtc_packaging/debian_harmattan/rules \
  217. $$PWD/qtc_packaging/debian_harmattan/README \
  218. $$PWD/qtc_packaging/debian_harmattan/copyright \
  219. $$PWD/qtc_packaging/debian_harmattan/control \
  220. $$PWD/qtc_packaging/debian_harmattan/compat \
  221. $$PWD/qtc_packaging/debian_harmattan/changelog \
  222. $$PWD/qtc_packaging/qtepong.conf
  223. }
  224. # Add more folders to ship with the application, here
  225. #folder_01.source = ../epong_sounds/*.wav
  226. #folder_01.target = ./
  227. #folder_02.source = ../epong_sounds/*.ogg
  228. #folder_02.target = ./
  229. #DEPLOYMENTFOLDERS = folder_01 folder_02
  230. # will append files matched by <folder_01.source> (either files or files in folder recursively)
  231. # into QCoreApplication::applicationDirPath() + "/<folder_01.target>" in Symbian,
  232. # and QCoreApplication::applicationDirPath() + "/../<folder_01.target>" in Linux and in MeeGo.
  233. # Specifically, in MeeGo, the path will be /opt/qtepong/./
  234. # See QmlApplicationViewer::adjustPath, which is feeded
  235. # a string of the form <folder_01.target>/<filename> (e.g., qml/main.qml) to
  236. # get a path of the corresponding file.
  237. # Please do not modify the following two lines. Required for deployment.
  238. include(qmlapplicationviewer/qmlapplicationviewer.pri)
  239. qtcAddDeployment()