Play-/Source/CMakeLists.txt

577 lines
13 KiB
Text
Raw Permalink Normal View History

2018-01-10 22:14:14 +00:00
cmake_minimum_required(VERSION 3.5)
2018-01-10 22:21:53 +00:00
set(CMAKE_MODULE_PATH
${CMAKE_CURRENT_SOURCE_DIR}/../deps/Dependencies/cmake-modules
2018-01-10 22:21:53 +00:00
${CMAKE_MODULE_PATH}
)
include(Header)
2018-01-10 22:14:14 +00:00
project(PlayCore)
set(PROJECT_LIBS)
set(DEFINITIONS_LIST)
2018-01-10 22:14:14 +00:00
include(PrecompiledHeader)
set(ENABLE_AMAZON_S3 ON CACHE BOOL "Enable loading disc from Amazon S3 servers")
2018-01-10 22:14:14 +00:00
if(DEBUGGER_INCLUDED)
2018-03-04 21:01:17 +00:00
list(APPEND DEFINITIONS_LIST DEBUGGER_INCLUDED=1)
2018-01-10 22:14:14 +00:00
endif()
2018-03-09 09:33:15 -05:00
if(PROFILE)
list(APPEND DEFINITIONS_LIST PROFILE=1)
endif()
list(APPEND DEFINITIONS_LIST _IOP_EMULATE_MODULES=1)
2018-01-10 22:14:14 +00:00
if(USE_AOT_CACHE)
list(APPEND DEFINITIONS_LIST AOT_USE_CACHE=1)
endif()
if(BUILD_AOT_CACHE)
list(APPEND DEFINITIONS_LIST AOT_BUILD_CACHE=1)
endif()
if(TARGET_PLATFORM_ANDROID OR TARGET_PLATFORM_IOS OR TARGET_PLATFORM_JS)
list(APPEND DEFINITIONS_LIST LOGGING_ENABLED=0)
2018-01-10 22:14:14 +00:00
endif()
if(TARGET_PLATFORM_UNIX AND NOT TARGET_PLATFORM_UNIX_ARM AND NOT TARGET_PLATFORM_UNIX_AARCH64)
2021-03-11 21:37:57 +00:00
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -msse2 -mssse3")
endif()
2018-01-10 22:14:14 +00:00
# targets, packages and dependencies
2018-01-13 22:14:33 +00:00
if(NOT TARGET Framework)
2018-01-10 22:14:14 +00:00
add_subdirectory(
${CMAKE_CURRENT_SOURCE_DIR}/../deps/Framework/build_cmake/Framework
2018-01-10 22:14:14 +00:00
${CMAKE_CURRENT_BINARY_DIR}/Framework
EXCLUDE_FROM_ALL
2018-01-10 22:14:14 +00:00
)
endif()
list(APPEND PROJECT_LIBS Framework)
2024-02-14 09:00:35 -05:00
if(NOT TARGET Framework_Http)
add_subdirectory(
${CMAKE_CURRENT_SOURCE_DIR}/../deps/Framework/build_cmake/FrameworkHttp
${CMAKE_CURRENT_BINARY_DIR}/FrameworkHttp
)
endif()
list(APPEND PROJECT_LIBS Framework_Http)
2025-03-11 12:48:26 -04:00
if(NOT TARGET app_shared)
add_subdirectory(
${CMAKE_CURRENT_SOURCE_DIR}/app_shared
${CMAKE_CURRENT_BINARY_DIR}/app_shared
)
endif()
list(APPEND PROJECT_LIBS app_shared)
if(ENABLE_AMAZON_S3)
if(NOT TARGET Framework_Amazon)
add_subdirectory(
${CMAKE_CURRENT_SOURCE_DIR}/../deps/Framework/build_cmake/FrameworkAmazon
${CMAKE_CURRENT_BINARY_DIR}/FrameworkAmazon
EXCLUDE_FROM_ALL
)
endif()
list(APPEND PROJECT_LIBS Framework_Amazon)
set(AMAZON_S3_SRC
s3stream/S3ObjectStream.cpp
2018-03-05 09:42:57 -05:00
)
list(APPEND DEFINITIONS_LIST HAS_AMAZON_S3=1)
2018-03-05 09:42:57 -05:00
endif()
2018-01-13 22:14:33 +00:00
if(NOT TARGET CodeGen)
2018-01-10 22:14:14 +00:00
add_subdirectory(
${CMAKE_CURRENT_SOURCE_DIR}/../deps/CodeGen/build_cmake
2018-01-10 22:14:14 +00:00
${CMAKE_CURRENT_BINARY_DIR}/CodeGen
)
endif()
list(APPEND PROJECT_LIBS CodeGen)
find_package(BZip2)
if(NOT BZIP2_FOUND)
MESSAGE("-- Using Provided BZip2 source")
2018-01-13 22:14:33 +00:00
if(NOT TARGET BZip2::BZip2)
2018-01-10 22:14:14 +00:00
add_subdirectory(
${CMAKE_CURRENT_SOURCE_DIR}/../deps/Dependencies/build_cmake/bzip2-1.0.6
2018-01-10 22:14:14 +00:00
${CMAKE_CURRENT_BINARY_DIR}/bzip2-1.0.6
EXCLUDE_FROM_ALL
2018-01-10 22:14:14 +00:00
)
endif()
list(APPEND PROJECT_LIBS BZip2::BZip2)
else()
include_directories(${BZIP2_INCLUDE_DIR})
list(APPEND PROJECT_LIBS ${BZIP2_LIBRARIES})
endif()
2022-05-15 22:46:03 +01:00
if(NOT TARGET libzstd_zlibwrapper_static)
add_subdirectory(
${CMAKE_CURRENT_SOURCE_DIR}/../deps/Dependencies/build_cmake/zstd_zlibwrapper
${CMAKE_CURRENT_BINARY_DIR}/zstd_zlibwrapper
)
2018-01-10 22:14:14 +00:00
endif()
2022-05-15 22:46:03 +01:00
LIST(APPEND PROJECT_LIBS libzstd_zlibwrapper_static)
2018-01-10 22:14:14 +00:00
2022-10-21 09:42:16 +01:00
if(NOT TARGET xxHash::xxhash)
option(BUILD_SHARED_LIBS "Build shared libs" OFF)
set(XXHASH_BUILD_ENABLE_INLINE_API ON)
set(XXHASH_BUILD_XXHSUM OFF)
add_subdirectory(
${CMAKE_CURRENT_SOURCE_DIR}/../deps/Dependencies/xxHash/cmake_unofficial/
${CMAKE_CURRENT_BINARY_DIR}/xxHash
EXCLUDE_FROM_ALL
)
endif()
LIST(APPEND PROJECT_LIBS xxHash::xxhash)
2018-01-11 00:43:12 +00:00
# If ICU is available, add its libraries because Framework might need its functions
find_package(ICUUC)
if(ICUUC_FOUND)
list(APPEND PROJECT_LIBS ${ICUUC_LIBRARIES})
endif()
2021-07-16 09:48:16 -04:00
if(NOT TARGET libchdr)
add_subdirectory(
${CMAKE_CURRENT_SOURCE_DIR}/../deps/libchdr/
${CMAKE_CURRENT_BINARY_DIR}/libchdr
EXCLUDE_FROM_ALL
2021-07-16 09:48:16 -04:00
)
endif()
list(APPEND PROJECT_LIBS chdr-static)
2018-01-11 00:43:12 +00:00
if(NOT (TARGET_PLATFORM_ANDROID OR TARGET_PLATFORM_IOS))
set(THREADS_PREFER_PTHREAD_FLAG ON)
2018-01-11 00:43:12 +00:00
find_package(Threads REQUIRED)
list(APPEND PROJECT_LIBS Threads::Threads)
2018-01-11 00:43:12 +00:00
endif()
2018-01-10 22:14:14 +00:00
set(COMMON_SRC_FILES
BasicBlock.cpp
BasicBlock.h
BiosDebugInfoProvider.h
BlockLookupOneWay.h
BlockLookupTwoWay.h
2018-01-10 22:14:14 +00:00
ControllerInfo.cpp
ControllerInfo.h
COP_FPU.cpp
COP_FPU.h
COP_FPU_Reflection.cpp
COP_SCU.cpp
COP_SCU.h
COP_SCU_Reflection.cpp
discimages/ChdCdImageStream.cpp
discimages/ChdCdImageStream.h
2021-07-16 10:54:45 -04:00
discimages/ChdImageStream.cpp
discimages/ChdImageStream.h
discimages/ChdStreamSupport.cpp
discimages/ChdStreamSupport.h
2020-10-03 16:59:18 -04:00
discimages/CsoImageStream.cpp
discimages/CsoImageStream.h
2020-10-04 09:32:55 -04:00
discimages/CueSheet.cpp
discimages/CueSheet.h
2020-10-03 16:59:18 -04:00
discimages/IszImageStream.cpp
discimages/IszImageStream.h
discimages/MdsDiscImage.cpp
discimages/MdsDiscImage.h
2018-01-10 22:14:14 +00:00
DiskUtils.cpp
DiskUtils.h
ee/COP_VU.cpp
ee/COP_VU.h
ee/COP_VU_Reflection.cpp
ee/DMAC.cpp
ee/DMAC.h
ee/Dmac_Channel.cpp
ee/Dmac_Channel.h
ee/EeBasicBlock.cpp
ee/EeBasicBlock.h
ee/Ee_IdleEvaluator.cpp
ee/Ee_IdleEvaluator.h
2020-03-25 08:02:59 -04:00
ee/Ee_LibMc2.cpp
ee/Ee_LibMc2.h
2018-01-10 22:14:14 +00:00
ee/Ee_SubSystem.cpp
ee/Ee_SubSystem.h
ee/EEAssembler.cpp
ee/EEAssembler.h
ee/EeExecutor.cpp
ee/EeExecutor.h
ee/FpAddTruncate.cpp
ee/FpAddTruncate.h
ee/FpMulTruncate.cpp
ee/FpMulTruncate.h
ee/GIF.cpp
ee/GIF.h
ee/INTC.cpp
ee/INTC.h
ee/IPU.cpp
ee/IPU.h
ee/IPU_DmVectorTable.cpp
ee/IPU_DmVectorTable.h
ee/IPU_MacroblockAddressIncrementTable.cpp
ee/IPU_MacroblockAddressIncrementTable.h
ee/IPU_MacroblockTypeBTable.cpp
ee/IPU_MacroblockTypeBTable.h
ee/IPU_MacroblockTypeITable.cpp
ee/IPU_MacroblockTypeITable.h
ee/IPU_MacroblockTypePTable.cpp
ee/IPU_MacroblockTypePTable.h
ee/IPU_MotionCodeTable.cpp
ee/IPU_MotionCodeTable.h
ee/MA_EE.cpp
ee/MA_EE.h
ee/MA_EE_Reflection.cpp
ee/MA_VU.cpp
ee/MA_VU.h
ee/MA_VU_Lower.cpp
ee/MA_VU_LowerReflection.cpp
ee/MA_VU_Upper.cpp
ee/MA_VU_UpperReflection.cpp
ee/PS2OS.cpp
ee/PS2OS.h
ee/SIF.cpp
ee/SIF.h
ee/Timer.cpp
ee/Timer.h
ee/Vif.cpp
ee/Vif.h
ee/Vif1.cpp
ee/Vif1.h
ee/Vpu.cpp
ee/Vpu.h
ee/VuAnalysis.cpp
ee/VuAnalysis.h
ee/VuBasicBlock.cpp
ee/VuBasicBlock.h
ee/VuExecutor.cpp
ee/VuExecutor.h
ee/VUShared.cpp
ee/VUShared.h
ee/VUShared_Reflection.cpp
ELF.h
ElfDefs.h
2018-01-10 22:14:14 +00:00
ElfFile.cpp
ElfFile.h
2018-12-01 21:33:25 -05:00
FpUtils.cpp
FpUtils.h
2018-01-10 22:14:14 +00:00
FrameDump.cpp
FrameDump.h
FrameLimiter.cpp
FrameLimiter.h
ScreenPositionListener.h
2020-02-25 18:47:50 +00:00
InputConfig.cpp
InputConfig.h
GenericMipsExecutor.h
2018-01-10 22:14:14 +00:00
gs/GsCachedArea.cpp
gs/GsCachedArea.h
gs/GsDebuggerInterface.h
2018-01-10 22:14:14 +00:00
gs/GSH_Null.cpp
gs/GSH_Null.h
gs/GSHandler.cpp
gs/GSHandler.h
gs/GsPixelFormats.cpp
gs/GsPixelFormats.h
gs/GsSpriteRegion.h
2020-01-18 14:32:29 -05:00
gs/GsTextureCache.h
gs/GsTransferRange.h
2023-01-03 21:18:18 -05:00
hdd/ApaDefs.h
hdd/ApaReader.cpp
hdd/ApaReader.h
hdd/HddDefs.h
hdd/PfsDefs.h
hdd/PfsReader.cpp
hdd/PfsReader.h
input/InputBindingManager.cpp
input/InputBindingManager.h
input/InputProvider.h
input/PH_GenericInput.cpp
input/PH_GenericInput.h
2018-01-10 22:14:14 +00:00
iop/ArgumentIterator.cpp
iop/ArgumentIterator.h
2021-01-05 17:25:38 -05:00
iop/ioman/DirectoryDevice.cpp
iop/ioman/DirectoryDevice.h
2022-09-29 08:27:50 -04:00
iop/ioman/McDumpDevice.cpp
iop/ioman/McDumpDevice.h
2021-01-05 17:25:38 -05:00
iop/ioman/HardDiskDevice.cpp
iop/ioman/HardDiskDevice.h
2023-01-03 21:18:18 -05:00
iop/ioman/HardDiskDumpDevice.cpp
iop/ioman/HardDiskDumpDevice.h
2021-01-05 17:25:38 -05:00
iop/ioman/OpticalMediaDevice.cpp
iop/ioman/OpticalMediaDevice.h
iop/ioman/OpticalMediaDirectoryIterator.cpp
iop/ioman/OpticalMediaDirectoryIterator.h
iop/ioman/PathDirectoryDevice.h
iop/ioman/PathDirectoryIterator.cpp
iop/ioman/PathDirectoryIterator.h
2021-01-05 17:25:38 -05:00
iop/ioman/PreferenceDirectoryDevice.h
iop/Ioman_Defs.h
2019-07-24 07:53:02 -04:00
iop/Ioman_Device.h
iop/Ioman_DirectoryIterator.h
2019-09-16 18:50:28 -04:00
iop/Ioman_ScopedFile.cpp
iop/Ioman_ScopedFile.h
2018-01-10 22:14:14 +00:00
iop/Iop_Cdvdfsv.cpp
iop/Iop_Cdvdfsv.h
iop/Iop_Cdvdman.cpp
iop/Iop_Cdvdman.h
iop/Iop_Dev9.cpp
iop/Iop_Dev9.h
2018-01-10 22:14:14 +00:00
iop/Iop_Dmac.cpp
iop/Iop_Dmac.h
iop/Iop_DmacChannel.cpp
iop/Iop_DmacChannel.h
2020-03-15 14:59:54 -04:00
iop/Iop_Dmacman.cpp
iop/Iop_Dmacman.h
2018-01-10 22:14:14 +00:00
iop/Iop_Dynamic.cpp
iop/Iop_Dynamic.h
iop/Iop_FileIo.cpp
iop/Iop_FileIo.h
iop/Iop_FileIoHandler1000.cpp
iop/Iop_FileIoHandler1000.h
iop/Iop_FileIoHandler2100.cpp
iop/Iop_FileIoHandler2100.h
iop/Iop_FileIoHandler2200.cpp
iop/Iop_FileIoHandler2200.h
2018-01-10 22:14:14 +00:00
iop/Iop_Heaplib.cpp
iop/Iop_Heaplib.h
2022-03-08 10:11:19 -05:00
iop/Iop_Ilink.cpp
iop/Iop_Ilink.h
2018-01-10 22:14:14 +00:00
iop/Iop_Intc.cpp
iop/Iop_Intc.h
iop/Iop_Intrman.cpp
iop/Iop_Intrman.h
iop/Iop_Ioman.cpp
iop/Iop_Ioman.h
2022-02-28 13:35:13 -05:00
iop/Iop_IomanX.cpp
iop/Iop_IomanX.h
2018-01-10 22:14:14 +00:00
iop/Iop_LibSd.cpp
iop/Iop_LibSd.h
iop/Iop_Loadcore.cpp
iop/Iop_Loadcore.h
iop/Iop_McServ.cpp
iop/Iop_McServ.h
iop/Iop_Modload.cpp
iop/Iop_Modload.h
iop/Iop_Module.cpp
iop/Iop_Module.h
iop/Iop_MtapMan.cpp
iop/Iop_MtapMan.h
2023-08-15 20:06:54 -04:00
iop/namco_sys147/NamcoSys147NANDReader.cpp
iop/namco_sys147/NamcoSys147NANDReader.h
iop/namco_sys147/Iop_NamcoNANDDevice.cpp
iop/namco_sys147/Iop_NamcoNANDDevice.h
2023-12-20 19:13:04 -05:00
iop/namco_sys147/Iop_NamcoSys147.cpp
iop/namco_sys147/Iop_NamcoSys147.h
iop/namco_sys246/Iop_NamcoAcCdvd.cpp
iop/namco_sys246/Iop_NamcoAcCdvd.h
iop/namco_sys246/Iop_NamcoAcRam.cpp
iop/namco_sys246/Iop_NamcoAcRam.h
iop/namco_sys246/Iop_NamcoPadMan.cpp
iop/namco_sys246/Iop_NamcoPadMan.h
iop/namco_sys246/Iop_NamcoSys246.cpp
iop/namco_sys246/Iop_NamcoSys246.h
2018-01-10 22:14:14 +00:00
iop/Iop_PadMan.cpp
iop/Iop_PadMan.h
iop/Iop_PathUtils.cpp
iop/Iop_PathUtils.h
iop/Iop_PowerOff.cpp
iop/Iop_PowerOff.h
2018-01-10 22:14:14 +00:00
iop/Iop_RootCounters.cpp
iop/Iop_RootCounters.h
2020-03-15 14:59:54 -04:00
iop/Iop_Secrman.cpp
iop/Iop_Secrman.h
2018-01-10 22:14:14 +00:00
iop/Iop_SifCmd.cpp
iop/Iop_SifCmd.h
iop/Iop_SifDynamic.cpp
iop/Iop_SifDynamic.h
iop/Iop_SifMan.cpp
iop/Iop_SifMan.h
iop/Iop_SifManNull.cpp
iop/Iop_SifManNull.h
iop/Iop_SifManPs2.cpp
iop/Iop_SifManPs2.h
iop/Iop_Sio2.cpp
iop/Iop_Sio2.h
iop/Iop_Speed.cpp
iop/Iop_Speed.h
2018-01-10 22:14:14 +00:00
iop/Iop_Spu.cpp
iop/Iop_Spu.h
iop/Iop_Spu2.cpp
iop/Iop_Spu2.h
iop/Iop_Spu2_Core.cpp
iop/Iop_Spu2_Core.h
iop/Iop_SpuBase.cpp
iop/Iop_SpuBase.h
iop/Iop_Stdio.cpp
iop/Iop_Stdio.h
iop/Iop_SubSystem.cpp
iop/Iop_SubSystem.h
iop/Iop_Sysclib.cpp
iop/Iop_Sysclib.h
iop/Iop_Sysmem.cpp
iop/Iop_Sysmem.h
iop/Iop_Thbase.cpp
iop/Iop_Thbase.h
iop/Iop_Thevent.cpp
iop/Iop_Thevent.h
2019-04-22 21:30:16 -04:00
iop/Iop_Thfpool.cpp
iop/Iop_Thfpool.h
2018-01-10 22:14:14 +00:00
iop/Iop_Thmsgbx.cpp
iop/Iop_Thmsgbx.h
iop/Iop_Thsema.cpp
iop/Iop_Thsema.h
iop/Iop_Thvpool.cpp
iop/Iop_Thvpool.h
iop/Iop_Timrman.cpp
iop/Iop_Timrman.h
2024-05-09 17:22:26 -04:00
iop/Iop_Usbd.cpp
iop/Iop_Usbd.h
2018-01-10 22:14:14 +00:00
iop/Iop_Vblank.cpp
iop/Iop_Vblank.h
iop/IopBios.cpp
iop/IopBios.h
2024-06-06 15:50:49 -04:00
iop/UsbDefs.h
iop/UsbDevice.h
iop/UsbBuzzerDevice.cpp
iop/UsbBuzzerDevice.h
2022-11-26 11:43:32 -05:00
ISO9660/BlockProvider.h
2018-01-10 22:14:14 +00:00
ISO9660/DirectoryRecord.cpp
ISO9660/DirectoryRecord.h
ISO9660/File.cpp
ISO9660/File.h
ISO9660/ISO9660.cpp
ISO9660/ISO9660.h
ISO9660/PathTable.cpp
ISO9660/PathTable.h
ISO9660/PathTableRecord.cpp
ISO9660/PathTableRecord.h
ISO9660/VolumeDescriptor.cpp
ISO9660/VolumeDescriptor.h
MA_MIPSIV.cpp
MA_MIPSIV.h
MA_MIPSIV_Reflection.cpp
MA_MIPSIV_Templates.cpp
MailBox.cpp
MailBox.h
MemoryMap.cpp
MemoryMap.h
MemoryUtils.cpp
MemoryUtils.h
MIPS.cpp
MIPS.h
MIPSAnalysis.cpp
MIPSAnalysis.h
MIPSArchitecture.cpp
MIPSArchitecture.h
MIPSAssembler.cpp
MIPSAssembler.h
MIPSCoprocessor.cpp
MIPSCoprocessor.h
MipsExecutor.h
MipsFunctionPatternDb.cpp
MipsFunctionPatternDb.h
MIPSInstructionFactory.cpp
MIPSInstructionFactory.h
MipsJitter.cpp
MipsJitter.h
MIPSReflection.cpp
MIPSReflection.h
MIPSTags.cpp
MIPSTags.h
OpticalMedia.cpp
OpticalMedia.h
2023-11-17 08:04:02 -05:00
OsStructManager.h
OsStructQueue.h
OsVariableWrapper.h
2018-01-10 22:14:14 +00:00
PadHandler.cpp
PadHandler.h
2023-10-31 19:50:26 +00:00
PadInterface.cpp
PadInterface.h
2018-01-10 22:14:14 +00:00
Pch.cpp
Pch.h
PH_Generic.cpp
PH_Generic.h
Profiler.cpp
Profiler.h
2019-01-28 13:04:17 -05:00
Ps2Const.h
2018-01-10 22:14:14 +00:00
PS2VM.cpp
PS2VM.h
PS2VM_Preferences.h
psx/PsxBios.cpp
psx/PsxBios.h
2018-01-10 22:14:14 +00:00
saves/Icon.cpp
saves/Icon.h
saves/MaxSaveImporter.cpp
saves/MaxSaveImporter.h
2022-09-21 18:14:03 -04:00
saves/McDumpReader.cpp
saves/McDumpReader.h
saves/McDumpSaveImporter.cpp
saves/McDumpSaveImporter.h
2018-01-10 22:14:14 +00:00
saves/MemoryCard.cpp
saves/PsuSaveImporter.cpp
saves/PsuSaveImporter.h
saves/Save.cpp
saves/Save.h
saves/SaveExporter.cpp
saves/SaveExporter.h
saves/SaveImporterBase.cpp
saves/SaveImporterBase.h
saves/SaveImporter.cpp
saves/SaveImporter.h
saves/XpsSaveImporter.cpp
saves/XpsSaveImporter.h
2021-05-27 14:27:41 -04:00
ScopedVmPauser.cpp
ScopedVmPauser.h
ScreenShotUtils.cpp
ScreenShotUtils.h
SifDefs.h
SifModule.h
SifModuleAdapter.h
states/MemoryStateFile.cpp
states/MemoryStateFile.h
states/RegisterState.cpp
states/RegisterState.h
2023-12-08 13:10:20 -05:00
states/RegisterStateUtils.h
states/RegisterStateCollectionFile.cpp
states/RegisterStateCollectionFile.h
states/RegisterStateFile.cpp
states/RegisterStateFile.h
2019-02-06 20:19:22 -05:00
states/XmlStateFile.cpp
states/XmlStateFile.h
static_loop.h
TimeUtils.h
2021-05-27 14:27:41 -04:00
uint128.h
2018-01-10 22:14:14 +00:00
VirtualPad.cpp
VirtualPad.h
${AMAZON_S3_SRC}
2018-01-10 22:14:14 +00:00
)
2021-07-15 20:22:47 -04:00
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options("-fbracket-depth=512")
endif()
2018-01-10 22:14:14 +00:00
if(TARGET_PLATFORM_WIN32)
set(PLATFORM_SPECIFIC_SRC_FILES VolumeStream.cpp)
2021-02-24 12:38:22 -05:00
list(APPEND PROJECT_LIBS winmm)
2018-01-13 22:14:33 +00:00
endif()
2018-01-10 22:14:14 +00:00
if(TARGET_PLATFORM_MACOS OR TARGET_PLATFORM_UNIX OR TARGET_PLATFORM_JS)
2018-01-10 22:14:14 +00:00
set(PLATFORM_SPECIFIC_SRC_FILES Posix_VolumeStream.cpp)
endif()
if(TARGET_PLATFORM_JS)
set(PLATFORM_SPECIFIC_SRC_FILES ${PLATFORM_SPECIFIC_SRC_FILES} Js_DiscImageDeviceStream.cpp Js_DiscImageDeviceStream.h)
endif()
2018-01-10 22:14:14 +00:00
add_library(PlayCore STATIC ${COMMON_SRC_FILES} ${PLATFORM_SPECIFIC_SRC_FILES})
2019-10-30 19:58:05 -04:00
target_link_libraries(PlayCore ${PROJECT_LIBS})
2018-01-10 22:14:14 +00:00
target_include_directories(PlayCore
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/../deps/Framework/include
${CMAKE_CURRENT_SOURCE_DIR}/../deps/CodeGen/include
2018-01-10 22:14:14 +00:00
)
2018-03-04 21:01:17 +00:00
target_compile_definitions(PlayCore PUBLIC ${DEFINITIONS_LIST})
2018-01-10 22:14:14 +00:00
if(TARGET_PLATFORM_WIN32)
add_precompiled_header(PlayCore Pch.h FORCEINCLUDE SOURCE_CXX Pch.cpp)
endif()