citra/src/core/CMakeLists.txt

464 lines
13 KiB
CMake
Raw Normal View History

add_library(core STATIC
3ds.h
announce_multiplayer_session.cpp
announce_multiplayer_session.h
arm/arm_interface.h
arm/dyncom/arm_dyncom.cpp
arm/dyncom/arm_dyncom.h
arm/dyncom/arm_dyncom_dec.cpp
arm/dyncom/arm_dyncom_dec.h
arm/dyncom/arm_dyncom_interpreter.cpp
arm/dyncom/arm_dyncom_interpreter.h
arm/dyncom/arm_dyncom_run.h
arm/dyncom/arm_dyncom_thumb.cpp
arm/dyncom/arm_dyncom_thumb.h
arm/dyncom/arm_dyncom_trans.cpp
arm/dyncom/arm_dyncom_trans.h
arm/skyeye_common/arm_regformat.h
arm/skyeye_common/armstate.cpp
arm/skyeye_common/armstate.h
arm/skyeye_common/armsupp.cpp
arm/skyeye_common/armsupp.h
arm/skyeye_common/vfp/asm_vfp.h
arm/skyeye_common/vfp/vfp.cpp
arm/skyeye_common/vfp/vfp.h
arm/skyeye_common/vfp/vfp_helper.h
arm/skyeye_common/vfp/vfpdouble.cpp
arm/skyeye_common/vfp/vfpinstr.cpp
arm/skyeye_common/vfp/vfpsingle.cpp
core.cpp
core.h
core_timing.cpp
core_timing.h
file_sys/archive_backend.cpp
file_sys/archive_backend.h
file_sys/archive_extsavedata.cpp
file_sys/archive_extsavedata.h
file_sys/archive_ncch.cpp
file_sys/archive_ncch.h
file_sys/archive_other_savedata.cpp
file_sys/archive_other_savedata.h
file_sys/archive_savedata.cpp
file_sys/archive_savedata.h
file_sys/archive_sdmc.cpp
file_sys/archive_sdmc.h
file_sys/archive_sdmcwriteonly.cpp
file_sys/archive_sdmcwriteonly.h
file_sys/archive_selfncch.cpp
file_sys/archive_selfncch.h
file_sys/archive_source_sd_savedata.cpp
file_sys/archive_source_sd_savedata.h
file_sys/archive_systemsavedata.cpp
file_sys/archive_systemsavedata.h
2018-09-04 16:28:38 +00:00
file_sys/cia_common.h
file_sys/cia_container.cpp
file_sys/cia_container.h
file_sys/directory_backend.h
file_sys/disk_archive.cpp
file_sys/disk_archive.h
file_sys/errors.h
file_sys/file_backend.h
file_sys/delay_generator.h
file_sys/ivfc_archive.cpp
file_sys/ivfc_archive.h
file_sys/ncch_container.cpp
file_sys/ncch_container.h
file_sys/path_parser.cpp
file_sys/path_parser.h
file_sys/romfs_reader.cpp
file_sys/romfs_reader.h
file_sys/savedata_archive.cpp
file_sys/savedata_archive.h
2018-10-01 15:42:10 +00:00
file_sys/seed_db.cpp
file_sys/seed_db.h
2018-09-04 16:28:38 +00:00
file_sys/ticket.cpp
file_sys/ticket.h
file_sys/title_metadata.cpp
file_sys/title_metadata.h
frontend/applets/default_applets.cpp
frontend/applets/default_applets.h
frontend/applets/swkbd.cpp
frontend/applets/swkbd.h
frontend/camera/blank_camera.cpp
frontend/camera/blank_camera.h
frontend/camera/factory.cpp
frontend/camera/factory.h
frontend/camera/interface.cpp
frontend/camera/interface.h
frontend/emu_window.cpp
frontend/emu_window.h
frontend/framebuffer_layout.cpp
frontend/framebuffer_layout.h
frontend/input.h
gdbstub/gdbstub.cpp
gdbstub/gdbstub.h
hle/applets/applet.cpp
hle/applets/applet.h
hle/applets/erreula.cpp
hle/applets/erreula.h
hle/applets/mii_selector.cpp
hle/applets/mii_selector.h
hle/applets/mint.cpp
hle/applets/mint.h
hle/applets/swkbd.cpp
hle/applets/swkbd.h
hle/config_mem.cpp
hle/config_mem.h
hle/function_wrappers.h
hle/ipc.h
hle/ipc_helpers.h
hle/kernel/address_arbiter.cpp
hle/kernel/address_arbiter.h
hle/kernel/client_port.cpp
hle/kernel/client_port.h
hle/kernel/client_session.cpp
hle/kernel/client_session.h
hle/kernel/errors.h
hle/kernel/event.cpp
hle/kernel/event.h
hle/kernel/handle_table.cpp
hle/kernel/handle_table.h
hle/kernel/hle_ipc.cpp
hle/kernel/hle_ipc.h
hle/kernel/ipc.cpp
hle/kernel/ipc.h
hle/kernel/kernel.cpp
hle/kernel/kernel.h
hle/kernel/memory.cpp
hle/kernel/memory.h
hle/kernel/mutex.cpp
hle/kernel/mutex.h
hle/kernel/object.cpp
hle/kernel/object.h
hle/kernel/process.cpp
hle/kernel/process.h
hle/kernel/resource_limit.cpp
hle/kernel/resource_limit.h
hle/kernel/semaphore.cpp
hle/kernel/semaphore.h
hle/kernel/server_port.cpp
hle/kernel/server_port.h
hle/kernel/server_session.cpp
hle/kernel/server_session.h
hle/kernel/session.h
hle/kernel/shared_memory.cpp
hle/kernel/shared_memory.h
hle/kernel/svc.cpp
hle/kernel/svc.h
hle/kernel/thread.cpp
hle/kernel/thread.h
hle/kernel/timer.cpp
hle/kernel/timer.h
hle/kernel/vm_manager.cpp
hle/kernel/vm_manager.h
hle/kernel/wait_object.cpp
hle/kernel/wait_object.h
hle/lock.cpp
hle/lock.h
hle/result.h
hle/romfs.cpp
hle/romfs.h
hle/service/ac/ac.cpp
hle/service/ac/ac.h
hle/service/ac/ac_i.cpp
hle/service/ac/ac_i.h
hle/service/ac/ac_u.cpp
hle/service/ac/ac_u.h
hle/service/act/act.cpp
hle/service/act/act.h
hle/service/act/act_a.cpp
hle/service/act/act_a.h
hle/service/act/act_u.cpp
hle/service/act/act_u.h
hle/service/am/am.cpp
hle/service/am/am.h
hle/service/am/am_app.cpp
hle/service/am/am_app.h
hle/service/am/am_net.cpp
hle/service/am/am_net.h
hle/service/am/am_sys.cpp
hle/service/am/am_sys.h
hle/service/am/am_u.cpp
hle/service/am/am_u.h
hle/service/apt/applet_manager.cpp
hle/service/apt/applet_manager.h
hle/service/apt/apt.cpp
hle/service/apt/apt.h
hle/service/apt/apt_a.cpp
hle/service/apt/apt_a.h
hle/service/apt/apt_s.cpp
hle/service/apt/apt_s.h
hle/service/apt/apt_u.cpp
hle/service/apt/apt_u.h
hle/service/apt/bcfnt/bcfnt.cpp
hle/service/apt/bcfnt/bcfnt.h
hle/service/apt/errors.h
hle/service/boss/boss.cpp
hle/service/boss/boss.h
hle/service/boss/boss_p.cpp
hle/service/boss/boss_p.h
hle/service/boss/boss_u.cpp
hle/service/boss/boss_u.h
hle/service/cam/cam.cpp
hle/service/cam/cam.h
hle/service/cam/cam_c.cpp
hle/service/cam/cam_c.h
hle/service/cam/cam_q.cpp
hle/service/cam/cam_q.h
hle/service/cam/cam_s.cpp
hle/service/cam/cam_s.h
hle/service/cam/cam_u.cpp
hle/service/cam/cam_u.h
hle/service/cecd/cecd.cpp
hle/service/cecd/cecd.h
hle/service/cecd/cecd_ndm.cpp
hle/service/cecd/cecd_ndm.h
hle/service/cecd/cecd_s.cpp
hle/service/cecd/cecd_s.h
hle/service/cecd/cecd_u.cpp
hle/service/cecd/cecd_u.h
hle/service/cfg/cfg.cpp
hle/service/cfg/cfg.h
hle/service/cfg/cfg_i.cpp
hle/service/cfg/cfg_i.h
hle/service/cfg/cfg_nor.cpp
hle/service/cfg/cfg_nor.h
hle/service/cfg/cfg_s.cpp
hle/service/cfg/cfg_s.h
hle/service/cfg/cfg_u.cpp
hle/service/cfg/cfg_u.h
hle/service/csnd/csnd_snd.cpp
hle/service/csnd/csnd_snd.h
hle/service/dlp/dlp.cpp
hle/service/dlp/dlp.h
hle/service/dlp/dlp_clnt.cpp
hle/service/dlp/dlp_clnt.h
hle/service/dlp/dlp_fkcl.cpp
hle/service/dlp/dlp_fkcl.h
hle/service/dlp/dlp_srvr.cpp
hle/service/dlp/dlp_srvr.h
hle/service/dsp/dsp_dsp.cpp
hle/service/dsp/dsp_dsp.h
hle/service/err_f.cpp
hle/service/err_f.h
hle/service/frd/frd.cpp
hle/service/frd/frd.h
hle/service/frd/frd_a.cpp
hle/service/frd/frd_a.h
hle/service/frd/frd_u.cpp
hle/service/frd/frd_u.h
hle/service/fs/archive.cpp
hle/service/fs/archive.h
hle/service/fs/directory.cpp
hle/service/fs/directory.h
hle/service/fs/file.cpp
hle/service/fs/file.h
hle/service/fs/fs_user.cpp
hle/service/fs/fs_user.h
hle/service/gsp/gsp.cpp
hle/service/gsp/gsp.h
hle/service/gsp/gsp_gpu.cpp
hle/service/gsp/gsp_gpu.h
hle/service/gsp/gsp_lcd.cpp
hle/service/gsp/gsp_lcd.h
hle/service/hid/hid.cpp
hle/service/hid/hid.h
hle/service/hid/hid_spvr.cpp
hle/service/hid/hid_spvr.h
hle/service/hid/hid_user.cpp
hle/service/hid/hid_user.h
hle/service/http_c.cpp
hle/service/http_c.h
hle/service/ir/extra_hid.cpp
hle/service/ir/extra_hid.h
hle/service/ir/ir.cpp
hle/service/ir/ir.h
hle/service/ir/ir_rst.cpp
hle/service/ir/ir_rst.h
hle/service/ir/ir_u.cpp
hle/service/ir/ir_u.h
hle/service/ir/ir_user.cpp
hle/service/ir/ir_user.h
hle/service/ldr_ro/cro_helper.cpp
hle/service/ldr_ro/cro_helper.h
hle/service/ldr_ro/ldr_ro.cpp
hle/service/ldr_ro/ldr_ro.h
hle/service/ldr_ro/memory_synchronizer.cpp
hle/service/ldr_ro/memory_synchronizer.h
hle/service/mic_u.cpp
hle/service/mic_u.h
hle/service/mvd/mvd.cpp
hle/service/mvd/mvd.h
hle/service/mvd/mvd_std.cpp
hle/service/mvd/mvd_std.h
hle/service/ndm/ndm_u.cpp
hle/service/ndm/ndm_u.h
hle/service/news/news.cpp
hle/service/news/news.h
hle/service/news/news_s.cpp
hle/service/news/news_s.h
hle/service/news/news_u.cpp
hle/service/news/news_u.h
hle/service/nfc/nfc.cpp
hle/service/nfc/nfc.h
hle/service/nfc/nfc_m.cpp
hle/service/nfc/nfc_m.h
hle/service/nfc/nfc_u.cpp
hle/service/nfc/nfc_u.h
hle/service/nim/nim.cpp
hle/service/nim/nim.h
hle/service/nim/nim_aoc.cpp
hle/service/nim/nim_aoc.h
hle/service/nim/nim_s.cpp
hle/service/nim/nim_s.h
hle/service/nim/nim_u.cpp
hle/service/nim/nim_u.h
hle/service/ns/ns.cpp
hle/service/ns/ns.h
hle/service/ns/ns_s.cpp
hle/service/ns/ns_s.h
hle/service/nwm/nwm.cpp
hle/service/nwm/nwm.h
hle/service/nwm/nwm_cec.cpp
hle/service/nwm/nwm_cec.h
hle/service/nwm/nwm_ext.cpp
hle/service/nwm/nwm_ext.h
hle/service/nwm/nwm_inf.cpp
hle/service/nwm/nwm_inf.h
hle/service/nwm/nwm_sap.cpp
hle/service/nwm/nwm_sap.h
hle/service/nwm/nwm_soc.cpp
hle/service/nwm/nwm_soc.h
hle/service/nwm/nwm_tst.cpp
hle/service/nwm/nwm_tst.h
hle/service/nwm/nwm_uds.cpp
hle/service/nwm/nwm_uds.h
hle/service/nwm/uds_beacon.cpp
hle/service/nwm/uds_beacon.h
hle/service/nwm/uds_connection.cpp
hle/service/nwm/uds_connection.h
hle/service/nwm/uds_data.cpp
hle/service/nwm/uds_data.h
hle/service/pm/pm.cpp
hle/service/pm/pm.h
hle/service/pm/pm_app.cpp
hle/service/pm/pm_app.h
hle/service/pm/pm_dbg.cpp
hle/service/pm/pm_dbg.h
hle/service/ps/ps_ps.cpp
hle/service/ps/ps_ps.h
hle/service/ptm/ptm.cpp
hle/service/ptm/ptm.h
hle/service/ptm/ptm_gets.cpp
hle/service/ptm/ptm_gets.h
hle/service/ptm/ptm_play.cpp
hle/service/ptm/ptm_play.h
hle/service/ptm/ptm_sets.cpp
hle/service/ptm/ptm_sets.h
hle/service/ptm/ptm_sysm.cpp
hle/service/ptm/ptm_sysm.h
hle/service/ptm/ptm_u.cpp
hle/service/ptm/ptm_u.h
hle/service/pxi/dev.cpp
hle/service/pxi/dev.h
hle/service/pxi/pxi.cpp
hle/service/pxi/pxi.h
hle/service/qtm/qtm.cpp
hle/service/qtm/qtm.h
hle/service/qtm/qtm_c.cpp
hle/service/qtm/qtm_c.h
hle/service/qtm/qtm_s.cpp
hle/service/qtm/qtm_s.h
hle/service/qtm/qtm_sp.cpp
hle/service/qtm/qtm_sp.h
hle/service/qtm/qtm_u.cpp
hle/service/qtm/qtm_u.h
hle/service/service.cpp
hle/service/service.h
hle/service/sm/sm.cpp
hle/service/sm/sm.h
hle/service/sm/srv.cpp
hle/service/sm/srv.h
hle/service/soc_u.cpp
hle/service/soc_u.h
hle/service/ssl_c.cpp
hle/service/ssl_c.h
hle/service/y2r_u.cpp
hle/service/y2r_u.h
hle/shared_page.cpp
hle/shared_page.h
hw/aes/arithmetic128.cpp
hw/aes/arithmetic128.h
hw/aes/ccm.cpp
hw/aes/ccm.h
hw/aes/key.cpp
hw/aes/key.h
hw/gpu.cpp
hw/gpu.h
hw/hw.cpp
hw/hw.h
hw/lcd.cpp
hw/lcd.h
hw/y2r.cpp
hw/y2r.h
loader/3dsx.cpp
loader/3dsx.h
loader/elf.cpp
loader/elf.h
loader/loader.cpp
loader/loader.h
loader/ncch.cpp
loader/ncch.h
loader/smdh.cpp
loader/smdh.h
memory.cpp
memory.h
memory_setup.h
mmio.h
movie.cpp
movie.h
perf_stats.cpp
perf_stats.h
settings.cpp
settings.h
telemetry_session.cpp
telemetry_session.h
tracer/citrace.h
tracer/recorder.cpp
tracer/recorder.h
)
if (ENABLE_SCRIPTING)
target_sources(core PRIVATE
rpc/packet.cpp
rpc/packet.h
rpc/rpc_server.cpp
rpc/rpc_server.h
rpc/server.cpp
rpc/server.h
rpc/zmq_server.cpp
rpc/zmq_server.h
)
endif()
2013-08-30 03:35:09 +00:00
create_target_directory_groups(core)
target_link_libraries(core PUBLIC common PRIVATE audio_core network video_core)
target_link_libraries(core PUBLIC Boost::boost PRIVATE cryptopp fmt open_source_archives)
2017-07-09 21:52:18 +00:00
if (ENABLE_WEB_SERVICE)
target_link_libraries(core PUBLIC json-headers web_service)
endif()
if (ARCHITECTURE_x86_64)
target_sources(core PRIVATE
arm/dynarmic/arm_dynarmic.cpp
arm/dynarmic/arm_dynarmic.h
arm/dynarmic/arm_dynarmic_cp15.cpp
arm/dynarmic/arm_dynarmic_cp15.h
)
target_link_libraries(core PRIVATE dynarmic)
endif()
Initial support for scripting (#4016) * Add ZeroMQ external submodule * ZeroMQ libzmq building on macOS * Added RPC namespace, settings and logging * Added request queue handling and new classes * Add C++ interface to ZeroMQ * Added start of ZeroMQ RPC Server implementation. * Request construction and callback request handling * Read and write memory implementation * Add ID to request format and send reply * Add RPC setting to macOS UI * Fixed initialization order bug and added exception handling * Working read-write through Python * Update CMakeLists for libzmq to resolve target name conflict on Windows * Platform-specific CMake definitions for Windows/non-Windows * Add comments * Revert "Add RPC setting to macOS UI" * Always run RPC server instead of configurable * Add Python scripting example. Updated .gitignore * Rename member variables to remove trailing underscore * Finally got libzmq external project building on macOS * Add missing dependency during libzmq build * Adding more missing dependencies [skip ci] * Only build what is required from libzmq * Extra length checks on client input * Call InvalidateCacheRange after memory write * Revert MinGW change. Fix clang-format. Improve error handling in request/reply. Allow any length of data read/write in Python. * Re-organized RPC static global state into a proper class. [skip ci] * Make sure libzmq always builds in Release mode * Renamed Request to Packet since Request and Reply are the same thing * Moved request fulfillment out of Packet and into RPCServer * Change request thread from sleep to condition variable * Remove non-blocking polling from ZMQ server code. Receive now blocks and terminates properly without sleeping. This change significantly improves script speed. * Move scripting files to dist/ instead of src/ * C++ code review changes for jroweboy [skip ci] * Python code review changes for jroweboy [skip ci] * Add docstrings and tests to citra.py [skip ci] * Add host OS check for libzmq build * Revert "Add host OS check for libzmq build" * Fixed a hang when emulation is stopped and restarted due to improper destruction order of ZMQ objects [skip ci] * Add scripting directory to archive packaging [skip ci] * Specify C/CXX compiler variables on MinGW build * Only specify compiler on Linux mingw * Use gcc and g++ on Windows mingw * Specify generator for mingw * Don't specify toolchain on windows mingw * Changed citra.py to support Python 3 instead of Python 2 * Fix bug where RPC wouldn't restart after Stop/Start emulation * Added copyright to headers and reorganized includes and forward declarations
2018-09-11 20:00:12 +00:00
if (ENABLE_SCRIPTING)
target_link_libraries(core PUBLIC libzmq-headers cppzmq-headers libzmq)
endif()