mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-03 11:15:20 +02:00
804 lines
20 KiB
CMake
804 lines
20 KiB
CMake
set(CoreExtra)
|
|
set(aemu_postoffice
|
|
${CMAKE_SOURCE_DIR}/ext/aemu_postoffice/client/postoffice.c
|
|
${CMAKE_SOURCE_DIR}/ext/aemu_postoffice/client/postoffice_mem_stdc.c
|
|
${CMAKE_SOURCE_DIR}/ext/aemu_postoffice/client/mutex_impl_cpp.cpp
|
|
${CMAKE_SOURCE_DIR}/ext/aemu_postoffice/client/delay_impl_cpp.cpp
|
|
${CMAKE_SOURCE_DIR}/ext/aemu_postoffice/client/log_impl_ppsspp.cpp
|
|
)
|
|
|
|
if(WIN32)
|
|
list(APPEND aemu_postoffice
|
|
${CMAKE_SOURCE_DIR}/ext/aemu_postoffice/client/sock_impl_windows.c
|
|
)
|
|
endif()
|
|
|
|
if(LINUX OR ANDROID OR MACOSX OR IOS OR BSD)
|
|
list(APPEND aemu_postoffice
|
|
${CMAKE_SOURCE_DIR}/ext/aemu_postoffice/client/sock_impl_linux.c
|
|
)
|
|
endif()
|
|
|
|
list(APPEND CoreExtra
|
|
MIPS/IR/IRAnalysis.cpp
|
|
MIPS/IR/IRAnalysis.h
|
|
MIPS/IR/IRCompALU.cpp
|
|
MIPS/IR/IRCompBranch.cpp
|
|
MIPS/IR/IRCompFPU.cpp
|
|
MIPS/IR/IRCompLoadStore.cpp
|
|
MIPS/IR/IRCompVFPU.cpp
|
|
MIPS/IR/IRFrontend.cpp
|
|
MIPS/IR/IRFrontend.h
|
|
MIPS/IR/IRInst.cpp
|
|
MIPS/IR/IRInst.h
|
|
MIPS/IR/IRInterpreter.cpp
|
|
MIPS/IR/IRInterpreter.h
|
|
MIPS/IR/IRJit.cpp
|
|
MIPS/IR/IRJit.h
|
|
MIPS/IR/IRNativeCommon.cpp
|
|
MIPS/IR/IRNativeCommon.h
|
|
MIPS/IR/IRPassSimplify.cpp
|
|
MIPS/IR/IRPassSimplify.h
|
|
MIPS/IR/IRRegCache.cpp
|
|
MIPS/IR/IRRegCache.h
|
|
)
|
|
|
|
list(APPEND CoreExtra
|
|
MIPS/ARM/ArmAsm.cpp
|
|
MIPS/ARM/ArmCompALU.cpp
|
|
MIPS/ARM/ArmCompBranch.cpp
|
|
MIPS/ARM/ArmCompFPU.cpp
|
|
MIPS/ARM/ArmCompLoadStore.cpp
|
|
MIPS/ARM/ArmCompVFPU.cpp
|
|
MIPS/ARM/ArmCompReplace.cpp
|
|
MIPS/ARM/ArmJit.cpp
|
|
MIPS/ARM/ArmJit.h
|
|
MIPS/ARM/ArmRegCache.cpp
|
|
MIPS/ARM/ArmRegCache.h
|
|
MIPS/ARM/ArmRegCacheFPU.cpp
|
|
MIPS/ARM/ArmRegCacheFPU.h
|
|
)
|
|
|
|
list(APPEND CoreExtra
|
|
MIPS/ARM64/Arm64Asm.cpp
|
|
MIPS/ARM64/Arm64CompALU.cpp
|
|
MIPS/ARM64/Arm64CompBranch.cpp
|
|
MIPS/ARM64/Arm64CompFPU.cpp
|
|
MIPS/ARM64/Arm64CompLoadStore.cpp
|
|
MIPS/ARM64/Arm64CompVFPU.cpp
|
|
MIPS/ARM64/Arm64CompReplace.cpp
|
|
MIPS/ARM64/Arm64Jit.cpp
|
|
MIPS/ARM64/Arm64Jit.h
|
|
MIPS/ARM64/Arm64RegCache.cpp
|
|
MIPS/ARM64/Arm64RegCache.h
|
|
MIPS/ARM64/Arm64RegCacheFPU.cpp
|
|
MIPS/ARM64/Arm64RegCacheFPU.h
|
|
MIPS/ARM64/Arm64IRAsm.cpp
|
|
MIPS/ARM64/Arm64IRCompALU.cpp
|
|
MIPS/ARM64/Arm64IRCompBranch.cpp
|
|
MIPS/ARM64/Arm64IRCompFPU.cpp
|
|
MIPS/ARM64/Arm64IRCompLoadStore.cpp
|
|
MIPS/ARM64/Arm64IRCompSystem.cpp
|
|
MIPS/ARM64/Arm64IRCompVec.cpp
|
|
MIPS/ARM64/Arm64IRJit.cpp
|
|
MIPS/ARM64/Arm64IRJit.h
|
|
MIPS/ARM64/Arm64IRRegCache.cpp
|
|
MIPS/ARM64/Arm64IRRegCache.h
|
|
Util/DisArm64.cpp
|
|
)
|
|
|
|
list(APPEND CoreExtra
|
|
MIPS/x86/Asm.cpp
|
|
MIPS/x86/CompALU.cpp
|
|
MIPS/x86/CompBranch.cpp
|
|
MIPS/x86/CompFPU.cpp
|
|
MIPS/x86/CompLoadStore.cpp
|
|
MIPS/x86/CompVFPU.cpp
|
|
MIPS/x86/CompReplace.cpp
|
|
MIPS/x86/Jit.cpp
|
|
MIPS/x86/Jit.h
|
|
MIPS/x86/JitSafeMem.cpp
|
|
MIPS/x86/JitSafeMem.h
|
|
MIPS/x86/RegCache.cpp
|
|
MIPS/x86/RegCache.h
|
|
MIPS/x86/RegCacheFPU.cpp
|
|
MIPS/x86/RegCacheFPU.h
|
|
MIPS/x86/X64IRAsm.cpp
|
|
MIPS/x86/X64IRCompALU.cpp
|
|
MIPS/x86/X64IRCompBranch.cpp
|
|
MIPS/x86/X64IRCompFPU.cpp
|
|
MIPS/x86/X64IRCompLoadStore.cpp
|
|
MIPS/x86/X64IRCompSystem.cpp
|
|
MIPS/x86/X64IRCompVec.cpp
|
|
MIPS/x86/X64IRJit.cpp
|
|
MIPS/x86/X64IRJit.h
|
|
MIPS/x86/X64IRRegCache.cpp
|
|
MIPS/x86/X64IRRegCache.h
|
|
)
|
|
|
|
list(APPEND CoreExtra
|
|
MIPS/RiscV/RiscVAsm.cpp
|
|
MIPS/RiscV/RiscVCompALU.cpp
|
|
MIPS/RiscV/RiscVCompBranch.cpp
|
|
MIPS/RiscV/RiscVCompFPU.cpp
|
|
MIPS/RiscV/RiscVCompLoadStore.cpp
|
|
MIPS/RiscV/RiscVCompSystem.cpp
|
|
MIPS/RiscV/RiscVCompVec.cpp
|
|
MIPS/RiscV/RiscVJit.cpp
|
|
MIPS/RiscV/RiscVJit.h
|
|
MIPS/RiscV/RiscVRegCache.cpp
|
|
MIPS/RiscV/RiscVRegCache.h
|
|
)
|
|
|
|
list(APPEND CoreExtra
|
|
MIPS/LoongArch64/LoongArch64Asm.cpp
|
|
MIPS/LoongArch64/LoongArch64CompALU.cpp
|
|
MIPS/LoongArch64/LoongArch64CompBranch.cpp
|
|
MIPS/LoongArch64/LoongArch64CompFPU.cpp
|
|
MIPS/LoongArch64/LoongArch64CompLoadStore.cpp
|
|
MIPS/LoongArch64/LoongArch64CompSystem.cpp
|
|
MIPS/LoongArch64/LoongArch64CompVec.cpp
|
|
MIPS/LoongArch64/LoongArch64Jit.cpp
|
|
MIPS/LoongArch64/LoongArch64Jit.h
|
|
MIPS/LoongArch64/LoongArch64RegCache.cpp
|
|
MIPS/LoongArch64/LoongArch64RegCache.h
|
|
)
|
|
|
|
if(NOT MOBILE_DEVICE)
|
|
list(APPEND CoreExtra
|
|
AVIDump.cpp
|
|
AVIDump.h
|
|
WaveFile.cpp
|
|
WaveFile.h
|
|
)
|
|
endif()
|
|
|
|
if((MACOSX OR IOS) AND NOT LIBRETRO)
|
|
list(APPEND CoreExtra
|
|
Util/DarwinFileSystemServices.mm
|
|
Util/DarwinFileSystemServices.h)
|
|
endif()
|
|
|
|
set(CmdLine)
|
|
if(NOT LIBRETRO)
|
|
list(APPEND CmdLine
|
|
CmdLine.cpp
|
|
CmdLine.h
|
|
)
|
|
endif()
|
|
|
|
# miniUPnPc integration (MiniUPnPc supposed to works on any POSIX system, not sure if some of these are redundant/not needed tho)
|
|
#
|
|
# The add_compile_definitions()/target_link_libraries(Core ...) split below looks awkward, but it's
|
|
# required: add_compile_definitions() only affects targets created *after* the call, and
|
|
# target_link_libraries(Core ...) requires the Core target to already exist. So the defines have to
|
|
# land before add_library(Core STATIC ...) further up this file, while linking miniupnpc into Core
|
|
# has to happen after it. Previously this whole block sat after add_library(Core STATIC ...), which
|
|
# meant Core/Util/PortManager.cpp (built as part of that same add_library call) never actually saw
|
|
# WITH_UPNP or any of the other defines below - UPnP support was silently compiled out everywhere.
|
|
if(USE_MINIUPNPC)
|
|
if(USE_SYSTEM_MINIUPNPC)
|
|
find_package(MINIUPNPC REQUIRED)
|
|
add_compile_definitions(WITH_UPNP)
|
|
else()
|
|
set (MINIUPNPC_VERSION 2.2) # used by miniupnpcstrings.h.cmake
|
|
set (MINIUPNPC_API_VERSION 18)
|
|
option(UPNPC_BUILD_STATIC "Build static library" TRUE)
|
|
option(NO_GETADDRINFO "Define NO_GETADDRINFO" FALSE)
|
|
mark_as_advanced(NO_GETADDRINFO)
|
|
if (NO_GETADDRINFO)
|
|
add_compile_definitions(NO_GETADDRINFO)
|
|
endif()
|
|
|
|
if (NOT WIN32)
|
|
add_compile_definitions (MINIUPNPC_SET_SOCKET_TIMEOUT)
|
|
add_compile_definitions (_BSD_SOURCE _DEFAULT_SOURCE _POSIX_C_SOURCE=200112L)
|
|
endif()
|
|
if (MACOSX)
|
|
add_compile_definitions (_DARWIN_C_SOURCE)
|
|
endif()
|
|
if(WIN32)
|
|
add_compile_definitions(WIN32 MINIUPNP_EXPORTS)
|
|
else()
|
|
add_compile_options(-fPIC)
|
|
endif()
|
|
|
|
add_compile_definitions(WITH_UPNP MINIUPNP_STATICLIB)
|
|
set(MINIUPNP_DIR "${CMAKE_SOURCE_DIR}/ext/miniupnp/miniupnpc")
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|
include_directories(${CMAKE_SOURCE_DIR}/ext/miniupnp/miniupnpc/src)
|
|
include_directories(${CMAKE_SOURCE_DIR}/ext/miniupnp/miniupnpc/include)
|
|
configure_file(${MINIUPNP_DIR}/miniupnpcstrings.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/miniupnpcstrings.h) # by default miniupnp repo doesn't contains miniupnpcstrings.h and need to be generated
|
|
set(MINIUPNPC_SOURCES
|
|
# the needed bits of miniupnpc (no python module, no tests, no cli)
|
|
${MINIUPNP_DIR}/src/addr_is_reserved.c
|
|
${MINIUPNP_DIR}/src/connecthostport.c
|
|
${MINIUPNP_DIR}/src/igd_desc_parse.c
|
|
${MINIUPNP_DIR}/src/minisoap.c
|
|
${MINIUPNP_DIR}/src/minissdpc.c
|
|
${MINIUPNP_DIR}/src/miniupnpc.c
|
|
#${MINIUPNP_DIR}/miniupnpcmodule.c
|
|
${MINIUPNP_DIR}/src/miniwget.c
|
|
${MINIUPNP_DIR}/src/minixml.c
|
|
${MINIUPNP_DIR}/src/portlistingparse.c
|
|
${MINIUPNP_DIR}/src/receivedata.c
|
|
#${MINIUPNP_DIR}/upnpc.c # causing an error due to already existing _main()
|
|
${MINIUPNP_DIR}/src/upnpcommands.c
|
|
${MINIUPNP_DIR}/src/upnpdev.c
|
|
${MINIUPNP_DIR}/src/upnperrors.c
|
|
${MINIUPNP_DIR}/src/upnpreplyparse.c
|
|
${CMAKE_CURRENT_BINARY_DIR}/miniupnpcstrings.h
|
|
)
|
|
if (NOT WIN32 AND NOT CMAKE_SYSTEM_NAME STREQUAL "AmigaOS")
|
|
#set(MINIUPNPC_SOURCES ${MINIUPNPC_SOURCES} minissdpc.c) # causing an error due to duplication in MINIUPNPC_SOURCES?
|
|
endif()
|
|
if (WIN32)
|
|
set_source_files_properties(${MINIUPNPC_SOURCES} PROPERTIES COMPILE_DEFINITIONS "MINIUPNP_STATICLIB;MINIUPNP_EXPORTS")
|
|
list(PREPEND LDLIBS ws2_32 iphlpapi)
|
|
#elseif (CMAKE_SYSTEM_NAME STREQUAL "Solaris")
|
|
# find_library (SOCKET_LIBRARY NAMES socket)
|
|
# find_library (NSL_LIBRARY NAMES nsl)
|
|
# find_library (RESOLV_LIBRARY NAMES resolv)
|
|
# set (LDLIBS ${SOCKET_LIBRARY} ${NSL_LIBRARY} ${RESOLV_LIBRARY} ${LDLIBS})
|
|
endif()
|
|
endif()
|
|
endif()
|
|
|
|
add_library(Core STATIC
|
|
${CoreExtra}
|
|
${CmdLine}
|
|
Config.cpp
|
|
Config.h
|
|
ConfigSettings.cpp
|
|
ConfigSettings.h
|
|
ConfigValues.h
|
|
ControlMapper.cpp
|
|
ControlMapper.h
|
|
Core.cpp
|
|
Core.h
|
|
Compatibility.cpp
|
|
Compatibility.h
|
|
CoreParameter.h
|
|
CoreTiming.cpp
|
|
CoreTiming.h
|
|
CwCheat.cpp
|
|
CwCheat.h
|
|
FrameTiming.cpp
|
|
FrameTiming.h
|
|
HDRemaster.cpp
|
|
HDRemaster.h
|
|
Instance.cpp
|
|
Instance.h
|
|
KeyMap.cpp
|
|
KeyMap.h
|
|
KeyMapDefaults.cpp
|
|
KeyMapDefaults.h
|
|
LuaContext.cpp
|
|
LuaContext.h
|
|
RetroAchievements.h
|
|
RetroAchievements.cpp
|
|
TiltEventProcessor.h
|
|
TiltEventProcessor.cpp
|
|
WebServer.cpp
|
|
WebServer.h
|
|
Debugger/Breakpoints.cpp
|
|
Debugger/Breakpoints.h
|
|
Debugger/DebugInterface.h
|
|
Debugger/MemBlockInfo.cpp
|
|
Debugger/MemBlockInfo.h
|
|
Debugger/SymbolMap.cpp
|
|
Debugger/SymbolMap.h
|
|
Debugger/Watch.h
|
|
Debugger/DisassemblyManager.cpp
|
|
Debugger/DisassemblyManager.h
|
|
Debugger/WebSocket.cpp
|
|
Debugger/WebSocket.h
|
|
Debugger/WebSocket/BreakpointSubscriber.cpp
|
|
Debugger/WebSocket/BreakpointSubscriber.h
|
|
Debugger/WebSocket/CPUCoreSubscriber.cpp
|
|
Debugger/WebSocket/CPUCoreSubscriber.h
|
|
Debugger/WebSocket/DisasmSubscriber.cpp
|
|
Debugger/WebSocket/DisasmSubscriber.h
|
|
Debugger/WebSocket/GameBroadcaster.cpp
|
|
Debugger/WebSocket/GameBroadcaster.h
|
|
Debugger/WebSocket/GameSubscriber.cpp
|
|
Debugger/WebSocket/GameSubscriber.h
|
|
Debugger/WebSocket/ClientConfigSubscriber.cpp
|
|
Debugger/WebSocket/ClientConfigSubscriber.h
|
|
Debugger/WebSocket/GPUBufferSubscriber.cpp
|
|
Debugger/WebSocket/GPUBufferSubscriber.h
|
|
Debugger/WebSocket/GPURecordSubscriber.cpp
|
|
Debugger/WebSocket/GPURecordSubscriber.h
|
|
Debugger/WebSocket/GPUStatsSubscriber.cpp
|
|
Debugger/WebSocket/GPUStatsSubscriber.h
|
|
Debugger/WebSocket/HLESubscriber.cpp
|
|
Debugger/WebSocket/HLESubscriber.h
|
|
Debugger/WebSocket/InputBroadcaster.cpp
|
|
Debugger/WebSocket/InputBroadcaster.h
|
|
Debugger/WebSocket/InputSubscriber.cpp
|
|
Debugger/WebSocket/InputSubscriber.h
|
|
Debugger/WebSocket/LogBroadcaster.cpp
|
|
Debugger/WebSocket/LogBroadcaster.h
|
|
Debugger/WebSocket/MemoryInfoSubscriber.cpp
|
|
Debugger/WebSocket/MemoryInfoSubscriber.h
|
|
Debugger/WebSocket/MemorySubscriber.cpp
|
|
Debugger/WebSocket/MemorySubscriber.h
|
|
Debugger/WebSocket/ReplaySubscriber.cpp
|
|
Debugger/WebSocket/ReplaySubscriber.h
|
|
Debugger/WebSocket/SteppingBroadcaster.cpp
|
|
Debugger/WebSocket/SteppingBroadcaster.h
|
|
Debugger/WebSocket/SteppingSubscriber.cpp
|
|
Debugger/WebSocket/SteppingSubscriber.h
|
|
Debugger/WebSocket/WebSocketUtils.cpp
|
|
Debugger/WebSocket/WebSocketUtils.h
|
|
Dialog/PSPDialog.cpp
|
|
Dialog/PSPDialog.h
|
|
Dialog/PSPGamedataInstallDialog.cpp
|
|
Dialog/PSPGamedataInstallDialog.h
|
|
Dialog/PSPMsgDialog.cpp
|
|
Dialog/PSPMsgDialog.h
|
|
Dialog/PSPNetconfDialog.cpp
|
|
Dialog/PSPNetconfDialog.h
|
|
Dialog/PSPNpSigninDialog.cpp
|
|
Dialog/PSPNpSigninDialog.h
|
|
Dialog/PSPOskDialog.cpp
|
|
Dialog/PSPOskDialog.h
|
|
Dialog/PSPOskConstants.cpp
|
|
Dialog/PSPOskConstants.h
|
|
Dialog/PSPPlaceholderDialog.cpp
|
|
Dialog/PSPPlaceholderDialog.h
|
|
Dialog/PSPSaveDialog.cpp
|
|
Dialog/PSPSaveDialog.h
|
|
Dialog/PSPScreenshotDialog.cpp
|
|
Dialog/PSPScreenshotDialog.h
|
|
Dialog/SavedataParam.cpp
|
|
Dialog/SavedataParam.h
|
|
ELF/ElfReader.cpp
|
|
ELF/ElfReader.h
|
|
ELF/PSPElfTypes.h
|
|
ELF/PBPReader.cpp
|
|
ELF/PBPReader.h
|
|
ELF/PrxDecrypter.cpp
|
|
ELF/PrxDecrypter.h
|
|
ELF/ParamSFO.cpp
|
|
ELF/ParamSFO.h
|
|
EmuThread.cpp
|
|
EmuThread.h
|
|
FFMPEGCompat.h
|
|
FileSystems/tlzrc.cpp
|
|
FileSystems/BlobFileSystem.cpp
|
|
FileSystems/BlobFileSystem.h
|
|
FileSystems/BlockDevices.cpp
|
|
FileSystems/BlockDevices.h
|
|
FileSystems/DirectoryFileSystem.cpp
|
|
FileSystems/DirectoryFileSystem.h
|
|
FileSystems/FileSystem.h
|
|
FileSystems/FileSystem.cpp
|
|
FileSystems/ISOFileSystem.cpp
|
|
FileSystems/ISOFileSystem.h
|
|
FileSystems/MetaFileSystem.cpp
|
|
FileSystems/MetaFileSystem.h
|
|
FileSystems/VirtualDiscFileSystem.cpp
|
|
FileSystems/VirtualDiscFileSystem.h
|
|
Font/PGF.cpp
|
|
Font/PGF.h
|
|
HLE/FunctionWrappers.h
|
|
HLE/HLE.cpp
|
|
HLE/HLE.h
|
|
HLE/ReplaceTables.cpp
|
|
HLE/ReplaceTables.h
|
|
HLE/HLEHelperThread.cpp
|
|
HLE/HLEHelperThread.h
|
|
HLE/HLETables.cpp
|
|
HLE/HLETables.h
|
|
HLE/KernelWaitHelpers.h
|
|
HLE/PSPThreadContext.h
|
|
HLE/KUBridge.h
|
|
HLE/KUBridge.cpp
|
|
HLE/Plugins.h
|
|
HLE/Plugins.cpp
|
|
HLE/ThreadQueueList.h
|
|
HLE/__sceAudio.cpp
|
|
HLE/__sceAudio.h
|
|
HLE/sceAdler.cpp
|
|
HLE/sceAdler.h
|
|
HLE/AtracBase.h
|
|
HLE/AtracCtx.cpp
|
|
HLE/AtracCtx.h
|
|
HLE/AtracCtx2.cpp
|
|
HLE/AtracCtx2.h
|
|
HLE/NetInetConstants.cpp
|
|
HLE/NetInetConstants.h
|
|
HLE/SocketManager.cpp
|
|
HLE/SocketManager.h
|
|
HLE/sceAtrac.cpp
|
|
HLE/sceAtrac.h
|
|
HLE/sceAudio.cpp
|
|
HLE/sceAudiocodec.cpp
|
|
HLE/sceAudiocodec.h
|
|
HLE/sceAudioRouting.cpp
|
|
HLE/sceAudioRouting.h
|
|
HLE/sceAudio.h
|
|
HLE/sceCcc.h
|
|
HLE/sceCcc.cpp
|
|
HLE/sceChnnlsv.cpp
|
|
HLE/sceChnnlsv.h
|
|
HLE/sceCtrl.cpp
|
|
HLE/sceCtrl.h
|
|
HLE/sceDeflt.cpp
|
|
HLE/sceDeflt.h
|
|
HLE/sceDisplay.cpp
|
|
HLE/sceDisplay.h
|
|
HLE/sceDmac.cpp
|
|
HLE/sceDmac.h
|
|
HLE/sceG729.cpp
|
|
HLE/sceG729.h
|
|
HLE/sceGameUpdate.cpp
|
|
HLE/sceGameUpdate.h
|
|
HLE/sceGe.cpp
|
|
HLE/sceGe.h
|
|
HLE/sceFont.cpp
|
|
HLE/sceFont.h
|
|
HLE/sceHeap.cpp
|
|
HLE/sceHeap.h
|
|
HLE/sceHprm.cpp
|
|
HLE/sceHprm.h
|
|
HLE/sceHttp.cpp
|
|
HLE/sceHttp.h
|
|
HLE/sceImpose.cpp
|
|
HLE/sceImpose.h
|
|
HLE/sceIo.cpp
|
|
HLE/sceIo.h
|
|
HLE/sceJpeg.cpp
|
|
HLE/sceJpeg.h
|
|
HLE/sceKernel.cpp
|
|
HLE/sceKernel.h
|
|
HLE/sceKernelAlarm.cpp
|
|
HLE/sceKernelAlarm.h
|
|
HLE/sceKernelEventFlag.cpp
|
|
HLE/sceKernelEventFlag.h
|
|
HLE/sceKernelHeap.cpp
|
|
HLE/sceKernelHeap.h
|
|
HLE/sceKernelInterrupt.cpp
|
|
HLE/sceKernelInterrupt.h
|
|
HLE/sceKernelMbx.cpp
|
|
HLE/sceKernelMbx.h
|
|
HLE/sceKernelMemory.cpp
|
|
HLE/sceKernelMemory.h
|
|
HLE/sceKernelModule.cpp
|
|
HLE/sceKernelModule.h
|
|
HLE/sceKernelMsgPipe.cpp
|
|
HLE/sceKernelMsgPipe.h
|
|
HLE/sceKernelMutex.cpp
|
|
HLE/sceKernelMutex.h
|
|
HLE/sceKernelSemaphore.cpp
|
|
HLE/sceKernelSemaphore.h
|
|
HLE/sceKernelThread.cpp
|
|
HLE/sceKernelThread.h
|
|
HLE/sceKernelTime.cpp
|
|
HLE/sceKernelTime.h
|
|
HLE/sceKernelVTimer.cpp
|
|
HLE/sceKernelVTimer.h
|
|
HLE/sceMpeg.cpp
|
|
HLE/sceMpeg.h
|
|
HLE/sceNet.cpp
|
|
HLE/sceNet.h
|
|
HLE/sceNet_lib.cpp
|
|
HLE/sceNet_lib.h
|
|
HLE/NetAdhocCommon.cpp
|
|
HLE/NetAdhocCommon.h
|
|
HLE/sceNetAdhoc.cpp
|
|
HLE/sceNetAdhoc.h
|
|
${aemu_postoffice}
|
|
HLE/sceNetAdhocMatching.cpp
|
|
HLE/sceNetAdhocMatching.h
|
|
HLE/sceNetInet.cpp
|
|
HLE/sceNetInet.h
|
|
HLE/sceNetApctl.cpp
|
|
HLE/sceNetApctl.h
|
|
HLE/sceNetResolver.cpp
|
|
HLE/sceNetResolver.h
|
|
HLE/proAdhoc.h
|
|
HLE/proAdhoc.cpp
|
|
HLE/proAdhocServer.h
|
|
HLE/proAdhocServer.cpp
|
|
HLE/sceOpenPSID.cpp
|
|
HLE/sceOpenPSID.h
|
|
HLE/sceP3da.cpp
|
|
HLE/sceP3da.h
|
|
HLE/sceMt19937.cpp
|
|
HLE/sceMt19937.h
|
|
HLE/sceMd5.cpp
|
|
HLE/sceMd5.h
|
|
HLE/sceAac.cpp
|
|
HLE/sceAac.h
|
|
HLE/sceMp4.cpp
|
|
HLE/sceMp4.h
|
|
HLE/sceMp3.cpp
|
|
HLE/sceMp3.h
|
|
HLE/sceParseHttp.cpp
|
|
HLE/sceParseHttp.h
|
|
HLE/sceParseUri.cpp
|
|
HLE/sceParseUri.h
|
|
HLE/scePower.cpp
|
|
HLE/scePower.h
|
|
HLE/scePsmf.cpp
|
|
HLE/scePsmf.h
|
|
HLE/sceReg.cpp
|
|
HLE/sceReg.h
|
|
HLE/sceRtc.cpp
|
|
HLE/sceRtc.h
|
|
HLE/sceSas.cpp
|
|
HLE/sceSas.h
|
|
HLE/sceSfmt19937.cpp
|
|
HLE/sceSfmt19937.h
|
|
HLE/sceSha256.cpp
|
|
HLE/sceSha256.h
|
|
HLE/sceSircs.cpp
|
|
HLE/sceSircs.h
|
|
HLE/sceSsl.cpp
|
|
HLE/sceSsl.h
|
|
HLE/sceUmd.cpp
|
|
HLE/sceUmd.h
|
|
HLE/sceUsb.cpp
|
|
HLE/sceUsb.h
|
|
HLE/sceUsbAcc.cpp
|
|
HLE/sceUsbAcc.h
|
|
HLE/sceUsbCam.cpp
|
|
HLE/sceUsbCam.h
|
|
HLE/sceUsbGps.cpp
|
|
HLE/sceUsbGps.h
|
|
HLE/sceUsbMic.cpp
|
|
HLE/sceUsbMic.h
|
|
HLE/sceUtility.cpp
|
|
HLE/sceUtility.h
|
|
HLE/sceVaudio.cpp
|
|
HLE/sceVaudio.h
|
|
HLE/scePspNpDrm_user.cpp
|
|
HLE/scePspNpDrm_user.h
|
|
HLE/sceNp.cpp
|
|
HLE/sceNp.h
|
|
HLE/sceNp2.cpp
|
|
HLE/sceNp2.h
|
|
HLE/scePauth.cpp
|
|
HLE/scePauth.h
|
|
HW/SimpleAudioDec.cpp
|
|
HW/SimpleAudioDec.h
|
|
HW/Atrac3Standalone.cpp
|
|
HW/Atrac3Standalone.h
|
|
HW/SimpleAudioDec.h
|
|
HW/AsyncIOManager.cpp
|
|
HW/AsyncIOManager.h
|
|
HW/BufferQueue.cpp
|
|
HW/BufferQueue.h
|
|
HW/Camera.cpp
|
|
HW/Camera.h
|
|
HW/Display.cpp
|
|
HW/Display.h
|
|
HW/GranularMixer.cpp
|
|
HW/GranularMixer.h
|
|
HW/MediaEngine.cpp
|
|
HW/MediaEngine.h
|
|
HW/MpegDemux.cpp
|
|
HW/MpegDemux.h
|
|
HW/MemoryStick.cpp
|
|
HW/MemoryStick.h
|
|
HW/SasAudio.cpp
|
|
HW/SasAudio.h
|
|
HW/SasReverb.cpp
|
|
HW/SasReverb.h
|
|
HW/StereoResampler.cpp
|
|
HW/StereoResampler.h
|
|
Loaders.cpp
|
|
Loaders.h
|
|
FileLoaders/CachingFileLoader.cpp
|
|
FileLoaders/CachingFileLoader.h
|
|
FileLoaders/DiskCachingFileLoader.cpp
|
|
FileLoaders/DiskCachingFileLoader.h
|
|
FileLoaders/HTTPFileLoader.cpp
|
|
FileLoaders/HTTPFileLoader.h
|
|
FileLoaders/LocalFileLoader.cpp
|
|
FileLoaders/LocalFileLoader.h
|
|
FileLoaders/RamCachingFileLoader.cpp
|
|
FileLoaders/RamCachingFileLoader.h
|
|
FileLoaders/RetryingFileLoader.cpp
|
|
FileLoaders/RetryingFileLoader.h
|
|
FileLoaders/ZipFileLoader.cpp
|
|
FileLoaders/ZipFileLoader.h
|
|
MIPS/MIPS.cpp
|
|
MIPS/MIPS.h
|
|
MIPS/MIPSAnalyst.cpp
|
|
MIPS/MIPSAnalyst.h
|
|
MIPS/MIPSCodeUtils.cpp
|
|
MIPS/MIPSCodeUtils.h
|
|
MIPS/MIPSDebugInterface.cpp
|
|
MIPS/MIPSDebugInterface.h
|
|
MIPS/MIPSDis.cpp
|
|
MIPS/MIPSDis.h
|
|
MIPS/MIPSDisVFPU.cpp
|
|
MIPS/MIPSDisVFPU.h
|
|
MIPS/MIPSInt.cpp
|
|
MIPS/MIPSInt.h
|
|
MIPS/MIPSIntVFPU.cpp
|
|
MIPS/MIPSIntVFPU.h
|
|
MIPS/MIPSStackWalk.cpp
|
|
MIPS/MIPSStackWalk.h
|
|
MIPS/MIPSTables.cpp
|
|
MIPS/MIPSTables.h
|
|
MIPS/MIPSVFPUUtils.cpp
|
|
MIPS/MIPSVFPUUtils.h
|
|
MIPS/MIPSVFPUFallbacks.cpp
|
|
MIPS/MIPSVFPUFallbacks.h
|
|
MIPS/MIPSAsm.cpp
|
|
MIPS/MIPSAsm.h
|
|
MIPS/MIPSTracer.cpp
|
|
MIPS/MIPSTracer.h
|
|
MIPS/JitCommon/JitCommon.cpp
|
|
MIPS/JitCommon/JitCommon.h
|
|
MIPS/JitCommon/JitBlockCache.cpp
|
|
MIPS/JitCommon/JitBlockCache.h
|
|
MIPS/JitCommon/JitState.cpp
|
|
MIPS/JitCommon/JitState.h
|
|
Util/DisArm64.h
|
|
Util/DisArm64.cpp
|
|
MIPS/fake/FakeJit.cpp
|
|
MIPS/fake/FakeJit.h
|
|
MemFault.cpp
|
|
MemFault.h
|
|
MemMap.cpp
|
|
MemMap.h
|
|
MemMapFunctions.cpp
|
|
MemMapHelpers.h
|
|
PSPLoaders.cpp
|
|
PSPLoaders.h
|
|
Reporting.cpp
|
|
Reporting.h
|
|
Replay.cpp
|
|
Replay.h
|
|
SaveState.cpp
|
|
SaveState.h
|
|
SaveStateRewind.cpp
|
|
SaveStateRewind.h
|
|
Screenshot.cpp
|
|
Screenshot.h
|
|
System.cpp
|
|
System.h
|
|
Util/AtracTrack.cpp
|
|
Util/AtracTrack.h
|
|
Util/AudioFormat.cpp
|
|
Util/AudioFormat.h
|
|
Util/GameManager.cpp
|
|
Util/GameManager.h
|
|
Util/MemStick.cpp
|
|
Util/MemStick.h
|
|
Util/GameDB.cpp
|
|
Util/GameDB.h
|
|
Util/PathUtil.cpp
|
|
Util/PathUtil.h
|
|
Util/PortManager.cpp
|
|
Util/PortManager.h
|
|
Util/BlockAllocator.cpp
|
|
Util/BlockAllocator.h
|
|
Util/PPGeDraw.cpp
|
|
Util/PPGeDraw.h
|
|
Util/RecentFiles.cpp
|
|
Util/RecentFiles.h
|
|
Util/VideoPlayer.cpp
|
|
Util/VideoPlayer.h
|
|
${CMAKE_SOURCE_DIR}/ext/disarm.cpp
|
|
${CMAKE_SOURCE_DIR}/ext/disarm.h
|
|
${CMAKE_SOURCE_DIR}/ext/riscv-disas.cpp
|
|
${CMAKE_SOURCE_DIR}/ext/riscv-disas.h
|
|
${CMAKE_SOURCE_DIR}/ext/loongarch-disasm.cpp
|
|
${CMAKE_SOURCE_DIR}/ext/loongarch-disasm.h
|
|
${CMAKE_BINARY_DIR}/git-version.cpp
|
|
)
|
|
|
|
if((MACOSX OR IOS) AND NOT LIBRETRO)
|
|
set_source_files_properties(Util/DarwinFileSystemServices.mm
|
|
PROPERTIES COMPILE_FLAGS -fobjc-arc)
|
|
endif()
|
|
|
|
if(LIBRETRO)
|
|
target_include_directories(Core PRIVATE ${CMAKE_SOURCE_DIR}/libretro/libretro-common/include)
|
|
endif()
|
|
|
|
set(CoreExtraLibs)
|
|
if(ANDROID)
|
|
list(APPEND CoreExtraLibs android)
|
|
if(X86_64)
|
|
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-Bsymbolic")
|
|
endif()
|
|
endif()
|
|
|
|
list(APPEND CoreExtraLibs armips)
|
|
|
|
target_link_libraries(Core GPU Common chdr kirk cityhash sfmt19937 xbrz xxhash rcheevos minimp3 at3_standalone lua
|
|
${CoreExtraLibs} ${CMAKE_DL_LIBS})
|
|
|
|
# Winsock
|
|
if(WIN32)
|
|
target_link_libraries(Core ws2_32)
|
|
endif()
|
|
|
|
if(NOT HTTPS_NOT_AVAILABLE)
|
|
target_link_libraries(Core naett)
|
|
endif()
|
|
|
|
target_compile_features(Core PUBLIC cxx_std_17)
|
|
|
|
if(FFmpeg_FOUND)
|
|
target_compile_definitions(Core PRIVATE USE_FFMPEG=1)
|
|
if (HAVE_LIBAVCODEC_CONST_AVCODEC)
|
|
target_compile_definitions(Core PRIVATE HAVE_LIBAVCODEC_CONST_AVCODEC=1)
|
|
endif()
|
|
set_target_properties(Core PROPERTIES NO_SYSTEM_FROM_IMPORTED true)
|
|
target_include_directories(Core BEFORE PUBLIC ${FFmpeg_INCLUDE_avcodec} ${FFmpeg_INCLUDE_avformat})
|
|
target_link_libraries(Core
|
|
FFmpeg::avcodec
|
|
FFmpeg::avformat
|
|
FFmpeg::avutil
|
|
FFmpeg::swresample
|
|
FFmpeg::swscale
|
|
${ZLIB_LIBRARY}
|
|
)
|
|
elseif(BUILD_BUNDLED_FFMPEG)
|
|
target_compile_definitions(Core PRIVATE USE_FFMPEG=1)
|
|
set_target_properties(Core PROPERTIES NO_SYSTEM_FROM_IMPORTED true)
|
|
target_link_libraries(Core
|
|
avcodec
|
|
avformat
|
|
avutil
|
|
swresample
|
|
swscale
|
|
${ZLIB_LIBRARY}
|
|
)
|
|
endif()
|
|
|
|
# Discord integration
|
|
if(USE_DISCORD AND NOT IOS AND NOT LIBRETRO)
|
|
target_link_libraries(Core discord-rpc)
|
|
endif()
|
|
|
|
# The other half of the miniUPnPc integration above: that half sets up the compile definitions
|
|
# (which had to happen before add_library(Core STATIC ...)), this half builds/links the library
|
|
# (which needs the Core target to already exist).
|
|
if(USE_MINIUPNPC)
|
|
if(USE_SYSTEM_MINIUPNPC)
|
|
target_include_directories(Core PRIVATE ${MINIUPNP_INCLUDE_DIR})
|
|
target_link_libraries(Core ${MINIUPNP_LIBRARY})
|
|
elseif(UPNPC_BUILD_STATIC)
|
|
add_library(miniupnpc STATIC ${MINIUPNPC_SOURCES})
|
|
target_link_libraries(Core miniupnpc ${LDLIBS})
|
|
set(UPNPC_LIBRARY miniupnpc)
|
|
if (MSVC)
|
|
# Suppress noise warnings
|
|
target_compile_definitions(miniupnpc PRIVATE _CRT_SECURE_NO_WARNINGS _WINSOCK_DEPRECATED_NO_WARNINGS)
|
|
endif()
|
|
if (WIN32)
|
|
target_link_libraries(miniupnpc ws2_32)
|
|
endif()
|
|
endif()
|
|
endif()
|
|
|
|
setup_target_project(Core Core)
|
|
|
|
# Generate git-version at build time.
|
|
add_custom_target(GitVersion DEPENDS something_that_never_exists)
|
|
|
|
set(WIN_VERSION_CMD "")
|
|
if (WIN32)
|
|
set(WIN_VERSION_CMD COMMAND ${CMAKE_SOURCE_DIR}/Windows/git-version-gen.cmd PPSSPPWindows)
|
|
endif()
|
|
|
|
add_custom_command(OUTPUT something_that_never_exists
|
|
COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${CMAKE_SOURCE_DIR}
|
|
-DOUTPUT_DIR=${CMAKE_BINARY_DIR}
|
|
-P ${CMAKE_SOURCE_DIR}/git-version.cmake
|
|
${WIN_VERSION_CMD})
|
|
|
|
set_source_files_properties(${CMAKE_BINARY_DIR}/git-version.cpp
|
|
PROPERTIES GENERATED TRUE
|
|
SKIP_AUTOMOC ON)
|
|
add_dependencies(Core GitVersion)
|