mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-21 10:19:04 +02:00
This makes Common.pro and Native.pro use their own distinct object directories to prevent the two fbo.cpp and sha1.c files repectively to clash into the same *.obj file. The registerlist had polled register values of -1 in some cases when resizing the window. Making sure it doesn't poll values smaller than 0 fixes it. The memoryview crashed if it was switched into symbol mode outside of the symbol definition range. Also, under Windows the monospace font wasn't used because there's not literal font called "monospace" so a font family hint had to be used. The UpdateDisassembly() function jumped to the current PC, which sounds reasonable at first but the issue is that this function gets called when a breakpoint get set, so if you set a breakpoint somewhere completely different then you suddenly lose that position for no good reason. Enable the desktop QT interface for all non ARM QT platforms make sure the QtMain.cpp in the native submodule is also updated
155 lines
4.3 KiB
Prolog
Executable File
155 lines
4.3 KiB
Prolog
Executable File
TARGET = PPSSPPQt
|
|
VERSION = 0.9.5
|
|
|
|
# Main Qt modules
|
|
QT += core gui opengl
|
|
include(Settings.pri)
|
|
|
|
# Extra Qt modules
|
|
linux: CONFIG += link_pkgconfig
|
|
win32|greaterThan(QT_MAJOR_VERSION,4) {
|
|
QT += multimedia
|
|
} else {
|
|
linux:packagesExist(QtMultimedia) {
|
|
QT += multimedia
|
|
} else {
|
|
CONFIG += mobility
|
|
MOBILITY += multimedia
|
|
}
|
|
}
|
|
greaterThan(QT_MAJOR_VERSION,4): QT += widgets
|
|
|
|
mobile_platform: MOBILITY += sensors
|
|
symbian: MOBILITY += systeminfo feedback
|
|
|
|
# PPSSPP Libs
|
|
symbian: XT=".lib"
|
|
else: LIBS += -L$$CONFIG_DIR
|
|
LIBS += -lCore$${XT} -lCommon$${XT} -lNative$${XT}
|
|
|
|
# FFMPEG Path
|
|
win32: FFMPEG_DIR = ../ffmpeg/Windows/$${QMAKE_TARGET.arch}/lib/
|
|
linux: FFMPEG_DIR = ../ffmpeg/linux/$${QMAKE_TARGET.arch}/lib/
|
|
qnx: FFMPEG_DIR = ../ffmpeg/blackberry/armv7/lib/
|
|
symbian:FFMPEG_DIR = -l
|
|
|
|
# External (platform-dependant) libs
|
|
win32|symbian: LIBS += $${FFMPEG_DIR}avformat.lib $${FFMPEG_DIR}avcodec.lib $${FFMPEG_DIR}avutil.lib $${FFMPEG_DIR}swresample.lib $${FFMPEG_DIR}swscale.lib
|
|
else: LIBS += $${FFMPEG_DIR}libavformat.a $${FFMPEG_DIR}libavcodec.a $${FFMPEG_DIR}libavutil.a $${FFMPEG_DIR}libswresample.a $${FFMPEG_DIR}libswscale.a
|
|
|
|
win32 {
|
|
#Use a fixed base-address under windows
|
|
QMAKE_LFLAGS += /FIXED /BASE:"0x00400000"
|
|
QMAKE_LFLAGS += /DYNAMICBASE:NO
|
|
LIBS += -lwinmm -lws2_32 -lShell32 -lAdvapi32
|
|
contains(QMAKE_TARGET.arch, x86_64): LIBS += $$files(../dx9sdk/Lib/x64/*.lib)
|
|
else: LIBS += $$files(../dx9sdk/Lib/x86/*.lib)
|
|
}
|
|
linux {
|
|
LIBS += -ldl
|
|
PRE_TARGETDEPS += ./libCommon.a ./libCore.a ./libNative.a
|
|
packagesExist(sdl) {
|
|
DEFINES += QT_HAS_SDL
|
|
PKGCONFIG += sdl
|
|
}
|
|
}
|
|
qnx: LIBS += -lscreen
|
|
symbian: LIBS += -llibglib -lRemConCoreApi -lRemConInterfaceBase
|
|
# Avoids problems with some compilers
|
|
unix:!symbian: LIBS += -lz
|
|
|
|
# Main
|
|
SOURCES += ../native/base/QtMain.cpp
|
|
HEADERS += ../native/base/QtMain.h
|
|
symbian {
|
|
SOURCES += ../native/base/SymbianMediaKeys.cpp
|
|
HEADERS += ../native/base/SymbianMediaKeys.h
|
|
}
|
|
|
|
# UI
|
|
SOURCES += ../UI/*Screen.cpp \
|
|
../UI/*Screens.cpp \
|
|
../UI/GamepadEmu.cpp \
|
|
../UI/GameInfoCache.cpp \
|
|
../UI/OnScreenDisplay.cpp \
|
|
../UI/UIShader.cpp \
|
|
../android/jni/TestRunner.cpp
|
|
|
|
HEADERS += ../UI/*.h
|
|
INCLUDEPATH += .. ../Common ../native
|
|
|
|
# Use forms UI for desktop platforms
|
|
!mobile_platform {
|
|
SOURCES += *.cpp
|
|
HEADERS += *.h
|
|
FORMS += *.ui
|
|
RESOURCES += resources.qrc
|
|
INCLUDEPATH += ../Qt
|
|
|
|
# Translations
|
|
TRANSLATIONS = $$files(languages/ppsspp_*.ts)
|
|
|
|
lang.name = lrelease ${QMAKE_FILE_IN}
|
|
lang.input = TRANSLATIONS
|
|
lang.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.qm
|
|
lang.commands = $$[QT_INSTALL_BINS]/lrelease ${QMAKE_FILE_IN}
|
|
lang.CONFIG = no_link
|
|
QMAKE_EXTRA_COMPILERS += lang
|
|
PRE_TARGETDEPS += compiler_lang_make_all
|
|
} else {
|
|
# Desktop handles the Init separately
|
|
SOURCES += ../UI/NativeApp.cpp
|
|
}
|
|
symbian {
|
|
RESOURCES += assets_lowmem.qrc
|
|
SOURCES += ../UI/ui_atlas_lowmem.cpp
|
|
} else {
|
|
RESOURCES += assets.qrc
|
|
SOURCES += ../UI/ui_atlas.cpp
|
|
}
|
|
|
|
# Packaging
|
|
symbian {
|
|
TARGET.UID3 = 0xE0095B1D
|
|
DEPLOYMENT.display_name = PPSSPP
|
|
vendor_deploy.pkg_prerules = "%{\"Qtness\"}" ":\"Qtness\""
|
|
ICON = ../assets/icon.svg
|
|
|
|
# Folders:
|
|
assets.sources = ../flash0 ../assets/langregion.ini
|
|
assets.path = E:/PPSSPP
|
|
shaders.sources = ../assets/shaders
|
|
shaders.path = E:/PPSSPP/PSP
|
|
lang.sources = $$files(../lang/*.ini)
|
|
# Unsupported languages on Symbian. Slashes differ depending on host.
|
|
contains(QMAKE_HOST.os, "Windows"): lang.sources -= ..\\lang/ja_JP.ini ..\\lang/ko_KR.ini ..\\lang/zh_CN.ini ..\\lang/zh_TW.ini
|
|
else: lang.sources -= ../lang/ja_JP.ini ../lang/ko_KR.ini ../lang/zh_CN.ini ../lang/zh_TW.ini
|
|
lang.path = E:/PPSSPP/lang
|
|
|
|
DEPLOYMENT += vendor_deploy assets shaders lang
|
|
|
|
# 268 MB maximum
|
|
TARGET.EPOCHEAPSIZE = 0x40000 0x10000000
|
|
TARGET.EPOCSTACKSIZE = 0x10000
|
|
}
|
|
|
|
contains(MEEGO_EDITION,harmattan) {
|
|
target.path = /opt/PPSSPP/bin
|
|
assets.files = ../flash0 ../assets/langregion.ini
|
|
assets.path = /opt/PPSSPP
|
|
shaders.files = ../assets/shaders
|
|
shaders.path = /opt/PPSSPP/PSP
|
|
lang.files = $$files(../lang/*.ini)
|
|
lang.path = /opt/PPSSPP/lang
|
|
desktopfile.files = PPSSPP.desktop
|
|
desktopfile.path = /usr/share/applications
|
|
icon.files = ../assets/icon-114.png
|
|
icon.path = /usr/share/icons/hicolor/114x114/apps
|
|
INSTALLS += target assets shaders lang desktopfile icon
|
|
# Booster
|
|
QMAKE_CXXFLAGS += -fPIC -fvisibility=hidden -fvisibility-inlines-hidden
|
|
QMAKE_LFLAGS += -pie -rdynamic
|
|
CONFIG += qt-boostable
|
|
}
|
|
|