CMakeLists.txt 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508
  1. add_library(core STATIC
  2. arm/arm_interface.h
  3. arm/arm_interface.cpp
  4. arm/exclusive_monitor.cpp
  5. arm/exclusive_monitor.h
  6. arm/unicorn/arm_unicorn.cpp
  7. arm/unicorn/arm_unicorn.h
  8. constants.cpp
  9. constants.h
  10. core.cpp
  11. core.h
  12. core_cpu.cpp
  13. core_cpu.h
  14. core_timing.cpp
  15. core_timing.h
  16. core_timing_util.cpp
  17. core_timing_util.h
  18. cpu_core_manager.cpp
  19. cpu_core_manager.h
  20. crypto/aes_util.cpp
  21. crypto/aes_util.h
  22. crypto/encryption_layer.cpp
  23. crypto/encryption_layer.h
  24. crypto/key_manager.cpp
  25. crypto/key_manager.h
  26. crypto/partition_data_manager.cpp
  27. crypto/partition_data_manager.h
  28. crypto/ctr_encryption_layer.cpp
  29. crypto/ctr_encryption_layer.h
  30. crypto/xts_encryption_layer.cpp
  31. crypto/xts_encryption_layer.h
  32. file_sys/bis_factory.cpp
  33. file_sys/bis_factory.h
  34. file_sys/card_image.cpp
  35. file_sys/card_image.h
  36. file_sys/cheat_engine.cpp
  37. file_sys/cheat_engine.h
  38. file_sys/content_archive.cpp
  39. file_sys/content_archive.h
  40. file_sys/control_metadata.cpp
  41. file_sys/control_metadata.h
  42. file_sys/directory.h
  43. file_sys/errors.h
  44. file_sys/fsmitm_romfsbuild.cpp
  45. file_sys/fsmitm_romfsbuild.h
  46. file_sys/ips_layer.cpp
  47. file_sys/ips_layer.h
  48. file_sys/kernel_executable.cpp
  49. file_sys/kernel_executable.h
  50. file_sys/mode.h
  51. file_sys/nca_metadata.cpp
  52. file_sys/nca_metadata.h
  53. file_sys/nca_patch.cpp
  54. file_sys/nca_patch.h
  55. file_sys/partition_filesystem.cpp
  56. file_sys/partition_filesystem.h
  57. file_sys/patch_manager.cpp
  58. file_sys/patch_manager.h
  59. file_sys/program_metadata.cpp
  60. file_sys/program_metadata.h
  61. file_sys/registered_cache.cpp
  62. file_sys/registered_cache.h
  63. file_sys/romfs.cpp
  64. file_sys/romfs.h
  65. file_sys/romfs_factory.cpp
  66. file_sys/romfs_factory.h
  67. file_sys/savedata_factory.cpp
  68. file_sys/savedata_factory.h
  69. file_sys/sdmc_factory.cpp
  70. file_sys/sdmc_factory.h
  71. file_sys/submission_package.cpp
  72. file_sys/submission_package.h
  73. file_sys/system_archive/ng_word.cpp
  74. file_sys/system_archive/ng_word.h
  75. file_sys/system_archive/system_archive.cpp
  76. file_sys/system_archive/system_archive.h
  77. file_sys/system_archive/system_version.cpp
  78. file_sys/system_archive/system_version.h
  79. file_sys/vfs.cpp
  80. file_sys/vfs.h
  81. file_sys/vfs_concat.cpp
  82. file_sys/vfs_concat.h
  83. file_sys/vfs_layered.cpp
  84. file_sys/vfs_layered.h
  85. file_sys/vfs_offset.cpp
  86. file_sys/vfs_offset.h
  87. file_sys/vfs_real.cpp
  88. file_sys/vfs_real.h
  89. file_sys/vfs_static.h
  90. file_sys/vfs_types.h
  91. file_sys/vfs_vector.cpp
  92. file_sys/vfs_vector.h
  93. file_sys/xts_archive.cpp
  94. file_sys/xts_archive.h
  95. frontend/applets/error.cpp
  96. frontend/applets/error.h
  97. frontend/applets/general_frontend.cpp
  98. frontend/applets/general_frontend.h
  99. frontend/applets/profile_select.cpp
  100. frontend/applets/profile_select.h
  101. frontend/applets/software_keyboard.cpp
  102. frontend/applets/software_keyboard.h
  103. frontend/applets/web_browser.cpp
  104. frontend/applets/web_browser.h
  105. frontend/emu_window.cpp
  106. frontend/emu_window.h
  107. frontend/framebuffer_layout.cpp
  108. frontend/framebuffer_layout.h
  109. frontend/input.h
  110. frontend/scope_acquire_window_context.cpp
  111. frontend/scope_acquire_window_context.h
  112. gdbstub/gdbstub.cpp
  113. gdbstub/gdbstub.h
  114. hardware_interrupt_manager.cpp
  115. hardware_interrupt_manager.h
  116. hle/ipc.h
  117. hle/ipc_helpers.h
  118. hle/kernel/address_arbiter.cpp
  119. hle/kernel/address_arbiter.h
  120. hle/kernel/client_port.cpp
  121. hle/kernel/client_port.h
  122. hle/kernel/client_session.cpp
  123. hle/kernel/client_session.h
  124. hle/kernel/code_set.cpp
  125. hle/kernel/code_set.h
  126. hle/kernel/errors.h
  127. hle/kernel/handle_table.cpp
  128. hle/kernel/handle_table.h
  129. hle/kernel/hle_ipc.cpp
  130. hle/kernel/hle_ipc.h
  131. hle/kernel/kernel.cpp
  132. hle/kernel/kernel.h
  133. hle/kernel/mutex.cpp
  134. hle/kernel/mutex.h
  135. hle/kernel/object.cpp
  136. hle/kernel/object.h
  137. hle/kernel/process.cpp
  138. hle/kernel/process.h
  139. hle/kernel/process_capability.cpp
  140. hle/kernel/process_capability.h
  141. hle/kernel/readable_event.cpp
  142. hle/kernel/readable_event.h
  143. hle/kernel/resource_limit.cpp
  144. hle/kernel/resource_limit.h
  145. hle/kernel/scheduler.cpp
  146. hle/kernel/scheduler.h
  147. hle/kernel/server_port.cpp
  148. hle/kernel/server_port.h
  149. hle/kernel/server_session.cpp
  150. hle/kernel/server_session.h
  151. hle/kernel/session.h
  152. hle/kernel/shared_memory.cpp
  153. hle/kernel/shared_memory.h
  154. hle/kernel/svc.cpp
  155. hle/kernel/svc.h
  156. hle/kernel/svc_wrap.h
  157. hle/kernel/thread.cpp
  158. hle/kernel/thread.h
  159. hle/kernel/transfer_memory.cpp
  160. hle/kernel/transfer_memory.h
  161. hle/kernel/vm_manager.cpp
  162. hle/kernel/vm_manager.h
  163. hle/kernel/wait_object.cpp
  164. hle/kernel/wait_object.h
  165. hle/kernel/writable_event.cpp
  166. hle/kernel/writable_event.h
  167. hle/lock.cpp
  168. hle/lock.h
  169. hle/result.h
  170. hle/service/acc/acc.cpp
  171. hle/service/acc/acc.h
  172. hle/service/acc/acc_aa.cpp
  173. hle/service/acc/acc_aa.h
  174. hle/service/acc/acc_su.cpp
  175. hle/service/acc/acc_su.h
  176. hle/service/acc/acc_u0.cpp
  177. hle/service/acc/acc_u0.h
  178. hle/service/acc/acc_u1.cpp
  179. hle/service/acc/acc_u1.h
  180. hle/service/acc/errors.h
  181. hle/service/acc/profile_manager.cpp
  182. hle/service/acc/profile_manager.h
  183. hle/service/am/am.cpp
  184. hle/service/am/am.h
  185. hle/service/am/applet_ae.cpp
  186. hle/service/am/applet_ae.h
  187. hle/service/am/applet_oe.cpp
  188. hle/service/am/applet_oe.h
  189. hle/service/am/applets/applets.cpp
  190. hle/service/am/applets/applets.h
  191. hle/service/am/applets/error.cpp
  192. hle/service/am/applets/error.h
  193. hle/service/am/applets/general_backend.cpp
  194. hle/service/am/applets/general_backend.h
  195. hle/service/am/applets/profile_select.cpp
  196. hle/service/am/applets/profile_select.h
  197. hle/service/am/applets/software_keyboard.cpp
  198. hle/service/am/applets/software_keyboard.h
  199. hle/service/am/applets/web_browser.cpp
  200. hle/service/am/applets/web_browser.h
  201. hle/service/am/idle.cpp
  202. hle/service/am/idle.h
  203. hle/service/am/omm.cpp
  204. hle/service/am/omm.h
  205. hle/service/am/spsm.cpp
  206. hle/service/am/spsm.h
  207. hle/service/am/tcap.cpp
  208. hle/service/am/tcap.h
  209. hle/service/aoc/aoc_u.cpp
  210. hle/service/aoc/aoc_u.h
  211. hle/service/apm/apm.cpp
  212. hle/service/apm/apm.h
  213. hle/service/apm/controller.cpp
  214. hle/service/apm/controller.h
  215. hle/service/apm/interface.cpp
  216. hle/service/apm/interface.h
  217. hle/service/audio/audctl.cpp
  218. hle/service/audio/audctl.h
  219. hle/service/audio/auddbg.cpp
  220. hle/service/audio/auddbg.h
  221. hle/service/audio/audin_a.cpp
  222. hle/service/audio/audin_a.h
  223. hle/service/audio/audin_u.cpp
  224. hle/service/audio/audin_u.h
  225. hle/service/audio/audio.cpp
  226. hle/service/audio/audio.h
  227. hle/service/audio/audout_a.cpp
  228. hle/service/audio/audout_a.h
  229. hle/service/audio/audout_u.cpp
  230. hle/service/audio/audout_u.h
  231. hle/service/audio/audrec_a.cpp
  232. hle/service/audio/audrec_a.h
  233. hle/service/audio/audrec_u.cpp
  234. hle/service/audio/audrec_u.h
  235. hle/service/audio/audren_a.cpp
  236. hle/service/audio/audren_a.h
  237. hle/service/audio/audren_u.cpp
  238. hle/service/audio/audren_u.h
  239. hle/service/audio/codecctl.cpp
  240. hle/service/audio/codecctl.h
  241. hle/service/audio/errors.h
  242. hle/service/audio/hwopus.cpp
  243. hle/service/audio/hwopus.h
  244. hle/service/bcat/bcat.cpp
  245. hle/service/bcat/bcat.h
  246. hle/service/bcat/module.cpp
  247. hle/service/bcat/module.h
  248. hle/service/bpc/bpc.cpp
  249. hle/service/bpc/bpc.h
  250. hle/service/btdrv/btdrv.cpp
  251. hle/service/btdrv/btdrv.h
  252. hle/service/btm/btm.cpp
  253. hle/service/btm/btm.h
  254. hle/service/caps/caps.cpp
  255. hle/service/caps/caps.h
  256. hle/service/erpt/erpt.cpp
  257. hle/service/erpt/erpt.h
  258. hle/service/es/es.cpp
  259. hle/service/es/es.h
  260. hle/service/eupld/eupld.cpp
  261. hle/service/eupld/eupld.h
  262. hle/service/fatal/fatal.cpp
  263. hle/service/fatal/fatal.h
  264. hle/service/fatal/fatal_p.cpp
  265. hle/service/fatal/fatal_p.h
  266. hle/service/fatal/fatal_u.cpp
  267. hle/service/fatal/fatal_u.h
  268. hle/service/filesystem/filesystem.cpp
  269. hle/service/filesystem/filesystem.h
  270. hle/service/filesystem/fsp_ldr.cpp
  271. hle/service/filesystem/fsp_ldr.h
  272. hle/service/filesystem/fsp_pr.cpp
  273. hle/service/filesystem/fsp_pr.h
  274. hle/service/filesystem/fsp_srv.cpp
  275. hle/service/filesystem/fsp_srv.h
  276. hle/service/fgm/fgm.cpp
  277. hle/service/fgm/fgm.h
  278. hle/service/friend/errors.h
  279. hle/service/friend/friend.cpp
  280. hle/service/friend/friend.h
  281. hle/service/friend/interface.cpp
  282. hle/service/friend/interface.h
  283. hle/service/glue/arp.cpp
  284. hle/service/glue/arp.h
  285. hle/service/glue/bgtc.cpp
  286. hle/service/glue/bgtc.h
  287. hle/service/glue/errors.h
  288. hle/service/glue/glue.cpp
  289. hle/service/glue/glue.h
  290. hle/service/glue/manager.cpp
  291. hle/service/glue/manager.h
  292. hle/service/grc/grc.cpp
  293. hle/service/grc/grc.h
  294. hle/service/hid/hid.cpp
  295. hle/service/hid/hid.h
  296. hle/service/hid/irs.cpp
  297. hle/service/hid/irs.h
  298. hle/service/hid/xcd.cpp
  299. hle/service/hid/xcd.h
  300. hle/service/hid/errors.h
  301. hle/service/hid/controllers/controller_base.cpp
  302. hle/service/hid/controllers/controller_base.h
  303. hle/service/hid/controllers/debug_pad.cpp
  304. hle/service/hid/controllers/debug_pad.h
  305. hle/service/hid/controllers/gesture.cpp
  306. hle/service/hid/controllers/gesture.h
  307. hle/service/hid/controllers/keyboard.cpp
  308. hle/service/hid/controllers/keyboard.h
  309. hle/service/hid/controllers/mouse.cpp
  310. hle/service/hid/controllers/mouse.h
  311. hle/service/hid/controllers/npad.cpp
  312. hle/service/hid/controllers/npad.h
  313. hle/service/hid/controllers/stubbed.cpp
  314. hle/service/hid/controllers/stubbed.h
  315. hle/service/hid/controllers/touchscreen.cpp
  316. hle/service/hid/controllers/touchscreen.h
  317. hle/service/hid/controllers/xpad.cpp
  318. hle/service/hid/controllers/xpad.h
  319. hle/service/lbl/lbl.cpp
  320. hle/service/lbl/lbl.h
  321. hle/service/ldn/ldn.cpp
  322. hle/service/ldn/ldn.h
  323. hle/service/ldr/ldr.cpp
  324. hle/service/ldr/ldr.h
  325. hle/service/lm/lm.cpp
  326. hle/service/lm/lm.h
  327. hle/service/mig/mig.cpp
  328. hle/service/mig/mig.h
  329. hle/service/mii/mii.cpp
  330. hle/service/mii/mii.h
  331. hle/service/mii/mii_manager.cpp
  332. hle/service/mii/mii_manager.h
  333. hle/service/mm/mm_u.cpp
  334. hle/service/mm/mm_u.h
  335. hle/service/ncm/ncm.cpp
  336. hle/service/ncm/ncm.h
  337. hle/service/nfc/nfc.cpp
  338. hle/service/nfc/nfc.h
  339. hle/service/nfp/nfp.cpp
  340. hle/service/nfp/nfp.h
  341. hle/service/nfp/nfp_user.cpp
  342. hle/service/nfp/nfp_user.h
  343. hle/service/nifm/nifm.cpp
  344. hle/service/nifm/nifm.h
  345. hle/service/nim/nim.cpp
  346. hle/service/nim/nim.h
  347. hle/service/npns/npns.cpp
  348. hle/service/npns/npns.h
  349. hle/service/ns/errors.h
  350. hle/service/ns/language.cpp
  351. hle/service/ns/language.h
  352. hle/service/ns/ns.cpp
  353. hle/service/ns/ns.h
  354. hle/service/ns/pl_u.cpp
  355. hle/service/ns/pl_u.h
  356. hle/service/nvdrv/devices/nvdevice.h
  357. hle/service/nvdrv/devices/nvdisp_disp0.cpp
  358. hle/service/nvdrv/devices/nvdisp_disp0.h
  359. hle/service/nvdrv/devices/nvhost_as_gpu.cpp
  360. hle/service/nvdrv/devices/nvhost_as_gpu.h
  361. hle/service/nvdrv/devices/nvhost_ctrl.cpp
  362. hle/service/nvdrv/devices/nvhost_ctrl.h
  363. hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp
  364. hle/service/nvdrv/devices/nvhost_ctrl_gpu.h
  365. hle/service/nvdrv/devices/nvhost_gpu.cpp
  366. hle/service/nvdrv/devices/nvhost_gpu.h
  367. hle/service/nvdrv/devices/nvhost_nvdec.cpp
  368. hle/service/nvdrv/devices/nvhost_nvdec.h
  369. hle/service/nvdrv/devices/nvhost_nvjpg.cpp
  370. hle/service/nvdrv/devices/nvhost_nvjpg.h
  371. hle/service/nvdrv/devices/nvhost_vic.cpp
  372. hle/service/nvdrv/devices/nvhost_vic.h
  373. hle/service/nvdrv/devices/nvmap.cpp
  374. hle/service/nvdrv/devices/nvmap.h
  375. hle/service/nvdrv/interface.cpp
  376. hle/service/nvdrv/interface.h
  377. hle/service/nvdrv/nvdata.h
  378. hle/service/nvdrv/nvdrv.cpp
  379. hle/service/nvdrv/nvdrv.h
  380. hle/service/nvdrv/nvmemp.cpp
  381. hle/service/nvdrv/nvmemp.h
  382. hle/service/nvflinger/buffer_queue.cpp
  383. hle/service/nvflinger/buffer_queue.h
  384. hle/service/nvflinger/nvflinger.cpp
  385. hle/service/nvflinger/nvflinger.h
  386. hle/service/pcie/pcie.cpp
  387. hle/service/pcie/pcie.h
  388. hle/service/pctl/module.cpp
  389. hle/service/pctl/module.h
  390. hle/service/pctl/pctl.cpp
  391. hle/service/pctl/pctl.h
  392. hle/service/pcv/pcv.cpp
  393. hle/service/pcv/pcv.h
  394. hle/service/pm/pm.cpp
  395. hle/service/pm/pm.h
  396. hle/service/prepo/prepo.cpp
  397. hle/service/prepo/prepo.h
  398. hle/service/psc/psc.cpp
  399. hle/service/psc/psc.h
  400. hle/service/ptm/psm.cpp
  401. hle/service/ptm/psm.h
  402. hle/service/service.cpp
  403. hle/service/service.h
  404. hle/service/set/set.cpp
  405. hle/service/set/set.h
  406. hle/service/set/set_cal.cpp
  407. hle/service/set/set_cal.h
  408. hle/service/set/set_fd.cpp
  409. hle/service/set/set_fd.h
  410. hle/service/set/set_sys.cpp
  411. hle/service/set/set_sys.h
  412. hle/service/set/settings.cpp
  413. hle/service/set/settings.h
  414. hle/service/sm/controller.cpp
  415. hle/service/sm/controller.h
  416. hle/service/sm/sm.cpp
  417. hle/service/sm/sm.h
  418. hle/service/sockets/bsd.cpp
  419. hle/service/sockets/bsd.h
  420. hle/service/sockets/ethc.cpp
  421. hle/service/sockets/ethc.h
  422. hle/service/sockets/nsd.cpp
  423. hle/service/sockets/nsd.h
  424. hle/service/sockets/sfdnsres.cpp
  425. hle/service/sockets/sfdnsres.h
  426. hle/service/sockets/sockets.cpp
  427. hle/service/sockets/sockets.h
  428. hle/service/spl/csrng.cpp
  429. hle/service/spl/csrng.h
  430. hle/service/spl/module.cpp
  431. hle/service/spl/module.h
  432. hle/service/spl/spl.cpp
  433. hle/service/spl/spl.h
  434. hle/service/ssl/ssl.cpp
  435. hle/service/ssl/ssl.h
  436. hle/service/time/interface.cpp
  437. hle/service/time/interface.h
  438. hle/service/time/time.cpp
  439. hle/service/time/time.h
  440. hle/service/time/time_sharedmemory.cpp
  441. hle/service/time/time_sharedmemory.h
  442. hle/service/usb/usb.cpp
  443. hle/service/usb/usb.h
  444. hle/service/vi/display/vi_display.cpp
  445. hle/service/vi/display/vi_display.h
  446. hle/service/vi/layer/vi_layer.cpp
  447. hle/service/vi/layer/vi_layer.h
  448. hle/service/vi/vi.cpp
  449. hle/service/vi/vi.h
  450. hle/service/vi/vi_m.cpp
  451. hle/service/vi/vi_m.h
  452. hle/service/vi/vi_s.cpp
  453. hle/service/vi/vi_s.h
  454. hle/service/vi/vi_u.cpp
  455. hle/service/vi/vi_u.h
  456. hle/service/wlan/wlan.cpp
  457. hle/service/wlan/wlan.h
  458. loader/deconstructed_rom_directory.cpp
  459. loader/deconstructed_rom_directory.h
  460. loader/elf.cpp
  461. loader/elf.h
  462. loader/kip.cpp
  463. loader/kip.h
  464. loader/loader.cpp
  465. loader/loader.h
  466. loader/nax.cpp
  467. loader/nax.h
  468. loader/nca.cpp
  469. loader/nca.h
  470. loader/nro.cpp
  471. loader/nro.h
  472. loader/nso.cpp
  473. loader/nso.h
  474. loader/nsp.cpp
  475. loader/nsp.h
  476. loader/xci.cpp
  477. loader/xci.h
  478. memory.cpp
  479. memory.h
  480. memory_setup.h
  481. perf_stats.cpp
  482. perf_stats.h
  483. reporter.cpp
  484. reporter.h
  485. settings.cpp
  486. settings.h
  487. telemetry_session.cpp
  488. telemetry_session.h
  489. tools/freezer.cpp
  490. tools/freezer.h
  491. )
  492. create_target_directory_groups(core)
  493. target_link_libraries(core PUBLIC common PRIVATE audio_core video_core)
  494. target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt json-headers mbedtls opus unicorn open_source_archives)
  495. if (ENABLE_WEB_SERVICE)
  496. target_compile_definitions(core PRIVATE -DENABLE_WEB_SERVICE)
  497. target_link_libraries(core PRIVATE web_service)
  498. endif()
  499. if (ARCHITECTURE_x86_64)
  500. target_sources(core PRIVATE
  501. arm/dynarmic/arm_dynarmic.cpp
  502. arm/dynarmic/arm_dynarmic.h
  503. )
  504. target_link_libraries(core PRIVATE dynarmic)
  505. endif()