2013-02-01 21:40:17 +00:00
|
|
|
TARGET = PPSSPPQt
|
2013-02-07 04:41:02 +00:00
|
|
|
|
2013-10-21 14:06:23 +00:00
|
|
|
# Main Qt modules
|
2013-02-07 04:41:02 +00:00
|
|
|
QT += core gui opengl
|
2013-10-21 14:06:23 +00:00
|
|
|
include(Settings.pri)
|
|
|
|
|
2014-06-23 14:11:31 +00:00
|
|
|
lessThan(QT_MAJOR_VERSION, 5):lessThan(QT_MINOR_VERSION, 7) {
|
|
|
|
error(PPSSPP requires Qt 4.7 or newer but Qt $$[QT_VERSION] was detected.)
|
2013-11-24 03:23:23 +00:00
|
|
|
}
|
|
|
|
|
2013-10-21 14:06:23 +00:00
|
|
|
# Extra Qt modules
|
2014-06-03 07:30:37 +00:00
|
|
|
linux:lessThan(QT_MAJOR_VERSION,5):!exists($$[QT_INSTALL_HEADERS]/QtMultimedia) {
|
2013-11-24 05:49:32 +00:00
|
|
|
# Ubuntu et al workaround. They forgot QtMultimedia
|
2013-11-24 03:23:23 +00:00
|
|
|
CONFIG += mobility
|
|
|
|
MOBILITY += multimedia
|
2013-10-19 16:44:03 +00:00
|
|
|
}
|
2013-11-24 05:49:32 +00:00
|
|
|
else: QT += multimedia
|
|
|
|
|
2014-06-02 23:26:24 +00:00
|
|
|
greaterThan(QT_MAJOR_VERSION,4) {
|
|
|
|
QT += widgets
|
|
|
|
mobile_platform: QT += sensors
|
|
|
|
} else:!maemo5:mobile_platform {
|
2013-11-24 05:49:32 +00:00
|
|
|
CONFIG += mobility
|
|
|
|
MOBILITY += sensors
|
|
|
|
symbian: MOBILITY += systeminfo feedback
|
|
|
|
}
|
2013-02-01 21:40:17 +00:00
|
|
|
|
2013-10-21 14:06:23 +00:00
|
|
|
# PPSSPP Libs
|
2013-11-24 03:23:23 +00:00
|
|
|
QMAKE_LIBDIR += $$CONFIG_DIR
|
2014-06-14 17:43:06 +00:00
|
|
|
symbian: LIBS += -lCore.lib -lGPU.lib -lCommon.lib -lNative.lib
|
|
|
|
else: LIBS += -lCore -lGPU -lCommon -lNative
|
2013-10-21 14:06:23 +00:00
|
|
|
|
|
|
|
# FFMPEG Path
|
2013-11-24 03:36:22 +00:00
|
|
|
win32: QMAKE_LIBDIR += $$P/ffmpeg/Windows/$${QMAKE_TARGET.arch}/lib/
|
2014-06-06 04:17:47 +00:00
|
|
|
linux {
|
|
|
|
arm: QMAKE_LIBDIR += $$P/ffmpeg/linux/armv7/lib/
|
|
|
|
else:QMAKE_LIBDIR += $$P/ffmpeg/linux/$${QMAKE_TARGET.arch}/lib/
|
|
|
|
}
|
2013-11-24 03:36:22 +00:00
|
|
|
macx: QMAKE_LIBDIR += $$P/ffmpeg/macosx/x86_64/lib/
|
|
|
|
ios: QMAKE_LIBDIR += $$P/ffmpeg/ios/universal/lib/
|
|
|
|
qnx: QMAKE_LIBDIR += $$P/ffmpeg/blackberry/armv7/lib/
|
2013-11-24 03:23:23 +00:00
|
|
|
symbian:QMAKE_LIBDIR += $$P/ffmpeg/symbian/armv6/lib/
|
2014-06-03 07:30:37 +00:00
|
|
|
android:QMAKE_LIBDIR += $$P/ffmpeg/android/armv7/lib/
|
2013-11-24 03:23:23 +00:00
|
|
|
|
|
|
|
contains(DEFINES, USE_FFMPEG): LIBS += -lavformat -lavcodec -lavutil -lswresample -lswscale
|
2013-10-21 14:06:23 +00:00
|
|
|
|
|
|
|
# External (platform-dependant) libs
|
|
|
|
|
2013-02-19 14:08:00 +00:00
|
|
|
win32 {
|
2013-11-03 18:16:14 +00:00
|
|
|
#Use a fixed base-address under windows
|
2014-06-23 22:28:20 +00:00
|
|
|
QMAKE_LFLAGS += /FIXED /BASE:"0x00400000" /DYNAMICBASE:NO
|
2013-10-21 14:06:23 +00:00
|
|
|
LIBS += -lwinmm -lws2_32 -lShell32 -lAdvapi32
|
2013-11-21 18:07:18 +00:00
|
|
|
contains(QMAKE_TARGET.arch, x86_64): LIBS += $$files($$P/dx9sdk/Lib/x64/*.lib)
|
|
|
|
else: LIBS += $$files($$P/dx9sdk/Lib/x86/*.lib)
|
2013-02-19 14:08:00 +00:00
|
|
|
}
|
2014-06-11 16:19:53 +00:00
|
|
|
|
2014-06-11 17:20:17 +00:00
|
|
|
macx|linux {
|
2014-06-14 17:43:06 +00:00
|
|
|
PRE_TARGETDEPS += $$CONFIG_DIR/libCommon.a $$CONFIG_DIR/libCore.a $$CONFIG_DIR/libGPU.a $$CONFIG_DIR/libNative.a
|
2014-06-03 07:30:37 +00:00
|
|
|
CONFIG += link_pkgconfig
|
2013-10-21 14:06:23 +00:00
|
|
|
packagesExist(sdl) {
|
|
|
|
DEFINES += QT_HAS_SDL
|
2013-11-24 03:23:23 +00:00
|
|
|
SOURCES += $$P/SDL/SDLJoystick.cpp
|
|
|
|
HEADERS += $$P/SDL/SDLJoystick.h
|
2013-10-21 14:06:23 +00:00
|
|
|
PKGCONFIG += sdl
|
2014-06-11 16:19:53 +00:00
|
|
|
macx {
|
2014-06-23 14:11:31 +00:00
|
|
|
LIBS += -F/Library/Frameworks -framework SDL
|
2014-06-11 16:19:53 +00:00
|
|
|
INCLUDEPATH += /Library/Frameworks/SDL.framework/Versions/A/Headers
|
|
|
|
}
|
2013-02-03 23:45:37 +00:00
|
|
|
}
|
|
|
|
}
|
2014-06-23 22:28:20 +00:00
|
|
|
linux:!android: LIBS += -ldl -lrt
|
2014-05-27 16:16:26 +00:00
|
|
|
macx: LIBS += -liconv
|
2013-10-21 14:06:23 +00:00
|
|
|
qnx: LIBS += -lscreen
|
2013-12-02 07:03:00 +00:00
|
|
|
symbian: LIBS += -lremconcoreapi -lremconinterfacebase
|
2014-06-17 04:23:16 +00:00
|
|
|
linux:arm|android: LIBS += -lEGL
|
2014-06-03 07:30:37 +00:00
|
|
|
unix:contains(QT_CONFIG, system-zlib) {
|
|
|
|
LIBS += -lz
|
|
|
|
}
|
2013-02-01 21:40:17 +00:00
|
|
|
|
|
|
|
# Main
|
2013-11-21 18:07:18 +00:00
|
|
|
SOURCES += $$P/native/base/QtMain.cpp
|
|
|
|
HEADERS += $$P/native/base/QtMain.h
|
2013-10-26 17:49:12 +00:00
|
|
|
symbian {
|
2013-11-21 18:07:18 +00:00
|
|
|
SOURCES += $$P/native/base/SymbianMediaKeys.cpp
|
|
|
|
HEADERS += $$P/native/base/SymbianMediaKeys.h
|
2013-10-26 17:49:12 +00:00
|
|
|
}
|
2013-02-01 21:40:17 +00:00
|
|
|
|
2013-07-17 01:14:41 +00:00
|
|
|
# UI
|
2013-11-21 18:07:18 +00:00
|
|
|
SOURCES += $$P/UI/*Screen.cpp \
|
|
|
|
$$P/UI/*Screens.cpp \
|
2014-06-22 15:02:04 +00:00
|
|
|
$$P/UI/BackgroundAudio.cpp \
|
2013-12-05 12:53:54 +00:00
|
|
|
$$P/UI/Store.cpp \
|
2013-11-21 18:07:18 +00:00
|
|
|
$$P/UI/GamepadEmu.cpp \
|
|
|
|
$$P/UI/GameInfoCache.cpp \
|
2014-03-01 15:09:16 +00:00
|
|
|
$$P/UI/NativeApp.cpp \
|
2013-11-21 18:07:18 +00:00
|
|
|
$$P/UI/OnScreenDisplay.cpp \
|
2013-12-16 02:45:18 +00:00
|
|
|
$$P/UI/TiltEventProcessor.cpp \
|
2013-11-21 18:07:18 +00:00
|
|
|
$$P/UI/UIShader.cpp \
|
2013-11-22 06:15:10 +00:00
|
|
|
$$P/UI/ui_atlas_lowmem.cpp \
|
2013-11-21 18:07:18 +00:00
|
|
|
$$P/android/jni/TestRunner.cpp
|
2013-02-01 21:40:17 +00:00
|
|
|
|
2014-06-02 23:26:24 +00:00
|
|
|
arm:android: SOURCES += $$P/android/jni/ArmEmitterTest.cpp
|
|
|
|
|
2013-11-21 18:07:18 +00:00
|
|
|
HEADERS += $$P/UI/*.h
|
2013-12-09 16:14:43 +00:00
|
|
|
INCLUDEPATH += $$P $$P/Common $$P/native $$P/native/ext
|
2013-02-01 21:40:17 +00:00
|
|
|
|
2014-06-23 14:11:31 +00:00
|
|
|
mobile_platform: RESOURCES += $$P/Qt/assets.qrc
|
|
|
|
else {
|
2014-06-18 04:31:38 +00:00
|
|
|
# TODO: Rewrite Debugger with same backend as Windows version
|
|
|
|
# Don't use .ui forms. Use Qt5 + C++11 features to minimise code
|
|
|
|
SOURCES += $$P/Qt/*.cpp $$P/Qt/Debugger/*.cpp
|
|
|
|
HEADERS += $$P/Qt/*.h $$P/Qt/Debugger/*.h
|
|
|
|
FORMS += $$P/Qt/Debugger/*.ui
|
2013-11-24 05:49:32 +00:00
|
|
|
RESOURCES += $$P/Qt/desktop_assets.qrc
|
2014-06-18 04:31:38 +00:00
|
|
|
INCLUDEPATH += $$P/Qt $$P/Qt/Debugger
|
2014-06-18 05:36:49 +00:00
|
|
|
|
|
|
|
# Creating translations should be done by Qt, really
|
2014-06-22 15:58:20 +00:00
|
|
|
LREL_TOOL = lrelease
|
|
|
|
# Grab all possible directories (win32/unix) and search from last to first
|
|
|
|
win32: PATHS = $$reverse($$split($$(PATH), ;))
|
|
|
|
else: PATHS = $$reverse($$split($$(PATH), :))
|
2014-06-17 14:34:11 +00:00
|
|
|
greaterThan(QT_MAJOR_VERSION, 4) {
|
2014-06-22 15:58:20 +00:00
|
|
|
for(bin, PATHS): exists($${bin}/$${LREL_TOOL}-qt5): LREL_TOOL=$${bin}/$${LREL_TOOL}-qt5
|
2014-06-17 14:34:11 +00:00
|
|
|
} else {
|
2014-06-22 15:58:20 +00:00
|
|
|
for(bin, PATHS): exists($${bin}/$${LREL_TOOL}-qt4): LREL_TOOL=$${bin}/$${LREL_TOOL}-qt4
|
2014-06-17 14:34:11 +00:00
|
|
|
}
|
2013-10-21 14:06:23 +00:00
|
|
|
|
|
|
|
# Translations
|
2013-11-21 18:07:18 +00:00
|
|
|
TRANSLATIONS = $$files($$P/Qt/languages/ppsspp_*.ts)
|
2013-10-21 14:06:23 +00:00
|
|
|
|
2014-06-17 14:34:11 +00:00
|
|
|
lang.name = $$LREL_TOOL ${QMAKE_FILE_IN}
|
2013-10-21 14:06:23 +00:00
|
|
|
lang.input = TRANSLATIONS
|
|
|
|
lang.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.qm
|
2014-06-17 17:28:33 +00:00
|
|
|
lang.commands = $$LREL_TOOL ${QMAKE_FILE_IN}
|
2013-10-21 14:06:23 +00:00
|
|
|
lang.CONFIG = no_link
|
|
|
|
QMAKE_EXTRA_COMPILERS += lang
|
|
|
|
PRE_TARGETDEPS += compiler_lang_make_all
|
2013-02-01 21:40:17 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
# Packaging
|
2014-06-17 14:34:11 +00:00
|
|
|
win32: ICON = $$P/Windows/ppsspp.rc
|
|
|
|
|
2013-02-01 21:40:17 +00:00
|
|
|
symbian {
|
2013-06-27 13:31:34 +00:00
|
|
|
TARGET.UID3 = 0xE0095B1D
|
|
|
|
DEPLOYMENT.display_name = PPSSPP
|
|
|
|
vendor_deploy.pkg_prerules = "%{\"Qtness\"}" ":\"Qtness\""
|
2013-11-21 18:07:18 +00:00
|
|
|
ICON = $$P/assets/icon.svg
|
2013-06-25 17:06:41 +00:00
|
|
|
|
2013-11-22 06:15:10 +00:00
|
|
|
DEPLOYMENT += vendor_deploy
|
2014-06-18 05:36:49 +00:00
|
|
|
MMP_RULES += "DEBUGGABLE"
|
2013-06-25 17:06:41 +00:00
|
|
|
|
2013-06-27 13:31:34 +00:00
|
|
|
# 268 MB maximum
|
2013-02-01 21:40:17 +00:00
|
|
|
TARGET.EPOCHEAPSIZE = 0x40000 0x10000000
|
|
|
|
TARGET.EPOCSTACKSIZE = 0x10000
|
|
|
|
}
|
2013-04-11 14:22:16 +00:00
|
|
|
|
2014-06-17 14:34:11 +00:00
|
|
|
linux {
|
|
|
|
icon.files = $$P/assets/icon-114.png
|
|
|
|
icon.path = /usr/share/icons/hicolor/114x114/apps
|
|
|
|
INSTALLS += icon
|
|
|
|
}
|
|
|
|
|
2014-01-02 06:16:13 +00:00
|
|
|
maemo {
|
2013-04-11 18:02:29 +00:00
|
|
|
target.path = /opt/PPSSPP/bin
|
|
|
|
desktopfile.files = PPSSPP.desktop
|
|
|
|
desktopfile.path = /usr/share/applications
|
2014-06-17 14:34:11 +00:00
|
|
|
INSTALLS += target desktopfile
|
2013-04-13 17:04:06 +00:00
|
|
|
# Booster
|
|
|
|
QMAKE_CXXFLAGS += -fPIC -fvisibility=hidden -fvisibility-inlines-hidden
|
|
|
|
QMAKE_LFLAGS += -pie -rdynamic
|
|
|
|
CONFIG += qt-boostable
|
2013-04-11 14:22:16 +00:00
|
|
|
}
|
|
|
|
|
2014-06-02 23:26:24 +00:00
|
|
|
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
|
|
|
|
|