Merge pull request #84 from lioncash/cmake
CMakeLists: Derive the source directory grouping from targets themselves
This commit is contained in:
		| @@ -323,12 +323,14 @@ endif() | ||||
| # This function should be passed a list of all files in a target. It will automatically generate | ||||
| # file groups following the directory hierarchy, so that the layout of the files in IDEs matches the | ||||
| # one in the filesystem. | ||||
| function(create_directory_groups) | ||||
| function(create_target_directory_groups target_name) | ||||
|     # Place any files that aren't in the source list in a separate group so that they don't get in | ||||
|     # the way. | ||||
|     source_group("Other Files" REGULAR_EXPRESSION ".") | ||||
|  | ||||
|     foreach(file_name ${ARGV}) | ||||
|     get_target_property(target_sources "${target_name}" SOURCES) | ||||
|  | ||||
|     foreach(file_name IN LISTS target_sources) | ||||
|         get_filename_component(dir_name "${file_name}" PATH) | ||||
|         # Group names use '\' as a separator even though the entire rest of CMake uses '/'... | ||||
|         string(REPLACE "/" "\\" group_name "${dir_name}") | ||||
|   | ||||
							
								
								
									
										14
									
								
								externals/getopt/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								externals/getopt/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							| @@ -1,11 +1,9 @@ | ||||
| set(SRCS | ||||
|             getopt.c | ||||
|             ) | ||||
| set(HEADERS | ||||
|             getopt.h | ||||
|             ) | ||||
| add_library(getopt | ||||
|     getopt.c | ||||
|     getopt.h | ||||
| ) | ||||
|  | ||||
| create_target_directory_groups(getopt) | ||||
|  | ||||
| create_directory_groups(${SRCS} ${HEADERS}) | ||||
| add_library(getopt ${SRCS} ${HEADERS}) | ||||
| target_compile_definitions(getopt PUBLIC STATIC_GETOPT) | ||||
| target_include_directories(getopt INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) | ||||
|   | ||||
							
								
								
									
										15
									
								
								externals/glad/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								externals/glad/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							| @@ -1,13 +1,10 @@ | ||||
| set(SRCS | ||||
|             src/glad.c | ||||
|             ) | ||||
| set(HEADERS | ||||
|             include/KHR/khrplatform.h | ||||
|             include/glad/glad.h | ||||
|             ) | ||||
| add_library(glad STATIC | ||||
|     src/glad.c | ||||
|     include/KHR/khrplatform.h | ||||
|     include/glad/glad.h | ||||
| ) | ||||
|  | ||||
| create_directory_groups(${SRCS} ${HEADERS}) | ||||
| add_library(glad STATIC ${SRCS} ${HEADERS}) | ||||
| create_target_directory_groups(glad) | ||||
| target_include_directories(glad PUBLIC "include/") | ||||
|  | ||||
| if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux") | ||||
|   | ||||
							
								
								
									
										17
									
								
								externals/inih/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								externals/inih/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							| @@ -1,12 +1,9 @@ | ||||
| set(SRCS | ||||
|             inih/ini.c | ||||
|             inih/cpp/INIReader.cpp | ||||
|             ) | ||||
| set(HEADERS | ||||
|             inih/ini.h | ||||
|             inih/cpp/INIReader.h | ||||
|             ) | ||||
| add_library(inih | ||||
|     inih/ini.c | ||||
|     inih/ini.h | ||||
|     inih/cpp/INIReader.cpp | ||||
|     inih/cpp/INIReader.h | ||||
| ) | ||||
|  | ||||
| create_directory_groups(${SRCS} ${HEADERS}) | ||||
| add_library(inih ${SRCS} ${HEADERS}) | ||||
| create_target_directory_groups(inih) | ||||
| target_include_directories(inih INTERFACE .) | ||||
|   | ||||
| @@ -24,78 +24,72 @@ if ($ENV{CI}) | ||||
| endif() | ||||
| configure_file("${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp.in" "${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp" @ONLY) | ||||
|  | ||||
| set(SRCS | ||||
|             break_points.cpp | ||||
|             file_util.cpp | ||||
|             hash.cpp | ||||
|             logging/filter.cpp | ||||
|             logging/text_formatter.cpp | ||||
|             logging/backend.cpp | ||||
|             memory_util.cpp | ||||
|             microprofile.cpp | ||||
|             misc.cpp | ||||
|             param_package.cpp | ||||
|             scm_rev.cpp | ||||
|             string_util.cpp | ||||
|             telemetry.cpp | ||||
|             thread.cpp | ||||
|             timer.cpp | ||||
|             ) | ||||
|  | ||||
| set(HEADERS | ||||
|             alignment.h | ||||
|             assert.h | ||||
|             bit_field.h | ||||
|             bit_set.h | ||||
|             break_points.h | ||||
|             chunk_file.h | ||||
|             code_block.h | ||||
|             color.h | ||||
|             common_funcs.h | ||||
|             common_paths.h | ||||
|             common_types.h | ||||
|             file_util.h | ||||
|             hash.h | ||||
|             linear_disk_cache.h | ||||
|             logging/text_formatter.h | ||||
|             logging/filter.h | ||||
|             logging/log.h | ||||
|             logging/backend.h | ||||
|             math_util.h | ||||
|             memory_util.h | ||||
|             microprofile.h | ||||
|             microprofileui.h | ||||
|             param_package.h | ||||
|             platform.h | ||||
|             quaternion.h | ||||
|             scm_rev.h | ||||
|             scope_exit.h | ||||
|             string_util.h | ||||
|             swap.h | ||||
|             synchronized_wrapper.h | ||||
|             telemetry.h | ||||
|             thread.h | ||||
|             thread_queue_list.h | ||||
|             threadsafe_queue.h | ||||
|             timer.h | ||||
|             vector_math.h | ||||
|             ) | ||||
| add_library(common STATIC | ||||
|     alignment.h | ||||
|     assert.h | ||||
|     bit_field.h | ||||
|     bit_set.h | ||||
|     break_points.cpp | ||||
|     break_points.h | ||||
|     chunk_file.h | ||||
|     code_block.h | ||||
|     color.h | ||||
|     common_funcs.h | ||||
|     common_paths.h | ||||
|     common_types.h | ||||
|     file_util.cpp | ||||
|     file_util.h | ||||
|     hash.cpp | ||||
|     hash.h | ||||
|     linear_disk_cache.h | ||||
|     logging/backend.cpp | ||||
|     logging/backend.h | ||||
|     logging/filter.cpp | ||||
|     logging/filter.h | ||||
|     logging/log.h | ||||
|     logging/text_formatter.cpp | ||||
|     logging/text_formatter.h | ||||
|     math_util.h | ||||
|     memory_util.cpp | ||||
|     memory_util.h | ||||
|     microprofile.cpp | ||||
|     microprofile.h | ||||
|     microprofileui.h | ||||
|     misc.cpp | ||||
|     param_package.cpp | ||||
|     param_package.h | ||||
|     platform.h | ||||
|     quaternion.h | ||||
|     scm_rev.cpp | ||||
|     scm_rev.h | ||||
|     scope_exit.h | ||||
|     string_util.cpp | ||||
|     string_util.h | ||||
|     swap.h | ||||
|     synchronized_wrapper.h | ||||
|     telemetry.cpp | ||||
|     telemetry.h | ||||
|     thread.cpp | ||||
|     thread.h | ||||
|     thread_queue_list.h | ||||
|     threadsafe_queue.h | ||||
|     timer.cpp | ||||
|     timer.h | ||||
|     vector_math.h | ||||
| ) | ||||
|  | ||||
| if(ARCHITECTURE_x86_64) | ||||
|     set(SRCS ${SRCS} | ||||
|     target_sources(common | ||||
|         PRIVATE | ||||
|             x64/cpu_detect.cpp | ||||
|             ) | ||||
|  | ||||
|     set(HEADERS ${HEADERS} | ||||
|             x64/cpu_detect.h | ||||
|             x64/xbyak_abi.h | ||||
|             x64/xbyak_util.h | ||||
|             ) | ||||
|     ) | ||||
| endif() | ||||
|  | ||||
| create_directory_groups(${SRCS} ${HEADERS}) | ||||
| create_target_directory_groups(common) | ||||
|  | ||||
| add_library(common STATIC ${SRCS} ${HEADERS}) | ||||
| target_link_libraries(common PUBLIC Boost::boost microprofile) | ||||
| if (ARCHITECTURE_x86_64) | ||||
|     target_link_libraries(common PRIVATE xbyak) | ||||
|   | ||||
| @@ -1,174 +1,171 @@ | ||||
| set(SRCS | ||||
|             arm/dynarmic/arm_dynarmic.cpp | ||||
|             arm/unicorn/arm_unicorn.cpp | ||||
|             core.cpp | ||||
|             core_timing.cpp | ||||
|             file_sys/archive_backend.cpp | ||||
|             file_sys/disk_archive.cpp | ||||
|             file_sys/ivfc_archive.cpp | ||||
|             file_sys/path_parser.cpp | ||||
|             file_sys/savedata_archive.cpp | ||||
|             file_sys/title_metadata.cpp | ||||
|             frontend/emu_window.cpp | ||||
|             frontend/framebuffer_layout.cpp | ||||
|             gdbstub/gdbstub.cpp | ||||
|             hle/config_mem.cpp | ||||
|             hle/kernel/address_arbiter.cpp | ||||
|             hle/kernel/client_port.cpp | ||||
|             hle/kernel/client_session.cpp | ||||
|             hle/kernel/condition_variable.cpp | ||||
|             hle/kernel/domain.cpp | ||||
|             hle/kernel/event.cpp | ||||
|             hle/kernel/handle_table.cpp | ||||
|             hle/kernel/hle_ipc.cpp | ||||
|             hle/kernel/kernel.cpp | ||||
|             hle/kernel/memory.cpp | ||||
|             hle/kernel/mutex.cpp | ||||
|             hle/kernel/object_address_table.cpp | ||||
|             hle/kernel/process.cpp | ||||
|             hle/kernel/resource_limit.cpp | ||||
|             hle/kernel/server_port.cpp | ||||
|             hle/kernel/server_session.cpp | ||||
|             hle/kernel/shared_memory.cpp | ||||
|             hle/kernel/svc.cpp | ||||
|             hle/kernel/thread.cpp | ||||
|             hle/kernel/timer.cpp | ||||
|             hle/kernel/vm_manager.cpp | ||||
|             hle/kernel/wait_object.cpp | ||||
|             hle/lock.cpp | ||||
|             hle/romfs.cpp | ||||
|             hle/service/acc/acc.cpp | ||||
|             hle/service/acc/acc_u0.cpp | ||||
|             hle/service/am/am.cpp | ||||
|             hle/service/am/applet_oe.cpp | ||||
|             hle/service/aoc/aoc_u.cpp | ||||
|             hle/service/apm/apm.cpp | ||||
|             hle/service/audio/audio.cpp | ||||
|             hle/service/audio/audout_u.cpp | ||||
|             hle/service/hid/hid.cpp | ||||
|             hle/service/lm/lm.cpp | ||||
|             hle/service/nvdrv/devices/nvdisp_disp0.cpp | ||||
|             hle/service/nvdrv/devices/nvhost_as_gpu.cpp | ||||
|             hle/service/nvdrv/devices/nvmap.cpp | ||||
|             hle/service/nvdrv/interface.cpp | ||||
|             hle/service/nvdrv/nvdrv.cpp | ||||
|             hle/service/pctl/pctl.cpp | ||||
|             hle/service/pctl/pctl_a.cpp | ||||
|             hle/service/service.cpp | ||||
|             hle/service/sm/controller.cpp | ||||
|             hle/service/sm/sm.cpp | ||||
|             hle/service/time/time.cpp | ||||
|             hle/service/vi/vi.cpp | ||||
|             hle/service/vi/vi_m.cpp | ||||
|             hle/shared_page.cpp | ||||
|             hw/hw.cpp | ||||
|             hw/lcd.cpp | ||||
|             loader/elf.cpp | ||||
|             loader/linker.cpp | ||||
|             loader/loader.cpp | ||||
|             loader/nro.cpp | ||||
|             loader/nso.cpp | ||||
|             tracer/recorder.cpp | ||||
|             memory.cpp | ||||
|             perf_stats.cpp | ||||
|             settings.cpp | ||||
|             telemetry_session.cpp | ||||
|             ) | ||||
| add_library(core STATIC | ||||
|     arm/arm_interface.h | ||||
|     arm/dynarmic/arm_dynarmic.cpp | ||||
|     arm/dynarmic/arm_dynarmic.h | ||||
|     arm/unicorn/arm_unicorn.cpp | ||||
|     arm/unicorn/arm_unicorn.h | ||||
|     core.cpp | ||||
|     core.h | ||||
|     core_timing.cpp | ||||
|     core_timing.h | ||||
|     file_sys/archive_backend.cpp | ||||
|     file_sys/archive_backend.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/ivfc_archive.cpp | ||||
|     file_sys/ivfc_archive.h | ||||
|     file_sys/path_parser.cpp | ||||
|     file_sys/path_parser.h | ||||
|     file_sys/savedata_archive.cpp | ||||
|     file_sys/savedata_archive.h | ||||
|     file_sys/title_metadata.cpp | ||||
|     file_sys/title_metadata.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/config_mem.cpp | ||||
|     hle/config_mem.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/condition_variable.cpp | ||||
|     hle/kernel/condition_variable.h | ||||
|     hle/kernel/domain.cpp | ||||
|     hle/kernel/domain.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/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_address_table.cpp | ||||
|     hle/kernel/object_address_table.h | ||||
|     hle/kernel/process.cpp | ||||
|     hle/kernel/process.h | ||||
|     hle/kernel/resource_limit.cpp | ||||
|     hle/kernel/resource_limit.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/svc_wrap.h | ||||
|     hle/kernel/sync_object.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/acc/acc.cpp | ||||
|     hle/service/acc/acc.h | ||||
|     hle/service/acc/acc_u0.cpp | ||||
|     hle/service/acc/acc_u0.h | ||||
|     hle/service/am/am.cpp | ||||
|     hle/service/am/am.h | ||||
|     hle/service/am/applet_oe.cpp | ||||
|     hle/service/am/applet_oe.h | ||||
|     hle/service/aoc/aoc_u.cpp | ||||
|     hle/service/aoc/aoc_u.h | ||||
|     hle/service/apm/apm.cpp | ||||
|     hle/service/apm/apm.h | ||||
|     hle/service/audio/audio.cpp | ||||
|     hle/service/audio/audio.h | ||||
|     hle/service/audio/audout_u.cpp | ||||
|     hle/service/audio/audout_u.h | ||||
|     hle/service/hid/hid.cpp | ||||
|     hle/service/hid/hid.h | ||||
|     hle/service/lm/lm.cpp | ||||
|     hle/service/lm/lm.h | ||||
|     hle/service/nvdrv/devices/nvdevice.h | ||||
|     hle/service/nvdrv/devices/nvdisp_disp0.cpp | ||||
|     hle/service/nvdrv/devices/nvdisp_disp0.h | ||||
|     hle/service/nvdrv/devices/nvhost_as_gpu.cpp | ||||
|     hle/service/nvdrv/devices/nvhost_as_gpu.h | ||||
|     hle/service/nvdrv/devices/nvmap.cpp | ||||
|     hle/service/nvdrv/devices/nvmap.h | ||||
|     hle/service/nvdrv/interface.cpp | ||||
|     hle/service/nvdrv/interface.h | ||||
|     hle/service/nvdrv/nvdrv.cpp | ||||
|     hle/service/nvdrv/nvdrv.h | ||||
|     hle/service/pctl/pctl.cpp | ||||
|     hle/service/pctl/pctl.h | ||||
|     hle/service/pctl/pctl_a.cpp | ||||
|     hle/service/pctl/pctl_a.h | ||||
|     hle/service/service.cpp | ||||
|     hle/service/service.h | ||||
|     hle/service/sm/controller.cpp | ||||
|     hle/service/sm/controller.h | ||||
|     hle/service/sm/sm.cpp | ||||
|     hle/service/sm/sm.h | ||||
|     hle/service/time/time.cpp | ||||
|     hle/service/time/time.h | ||||
|     hle/service/vi/vi.cpp | ||||
|     hle/service/vi/vi.h | ||||
|     hle/service/vi/vi_m.cpp | ||||
|     hle/service/vi/vi_m.h | ||||
|     hle/shared_page.cpp | ||||
|     hle/shared_page.h | ||||
|     hw/hw.cpp | ||||
|     hw/hw.h | ||||
|     hw/lcd.cpp | ||||
|     hw/lcd.h | ||||
|     loader/elf.cpp | ||||
|     loader/elf.h | ||||
|     loader/linker.cpp | ||||
|     loader/linker.h | ||||
|     loader/loader.cpp | ||||
|     loader/loader.h | ||||
|     loader/nro.cpp | ||||
|     loader/nro.h | ||||
|     loader/nso.cpp | ||||
|     loader/nso.h | ||||
|     memory.cpp | ||||
|     memory.h | ||||
|     memory_setup.h | ||||
|     mmio.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 | ||||
| ) | ||||
|  | ||||
| set(HEADERS | ||||
|             arm/arm_interface.h | ||||
|             arm/dynarmic/arm_dynarmic.h | ||||
|             arm/unicorn/arm_unicorn.h | ||||
|             core.h | ||||
|             core_timing.h | ||||
|             file_sys/archive_backend.h | ||||
|             file_sys/directory_backend.h | ||||
|             file_sys/disk_archive.h | ||||
|             file_sys/errors.h | ||||
|             file_sys/file_backend.h | ||||
|             file_sys/ivfc_archive.h | ||||
|             file_sys/path_parser.h | ||||
|             file_sys/savedata_archive.h | ||||
|             file_sys/title_metadata.h | ||||
|             frontend/emu_window.h | ||||
|             frontend/framebuffer_layout.h | ||||
|             frontend/input.h | ||||
|             gdbstub/gdbstub.h | ||||
|             hle/config_mem.h | ||||
|             hle/ipc.h | ||||
|             hle/ipc_helpers.h | ||||
|             hle/kernel/address_arbiter.h | ||||
|             hle/kernel/client_port.h | ||||
|             hle/kernel/client_session.h | ||||
|             hle/kernel/condition_variable.h | ||||
|             hle/kernel/domain.h | ||||
|             hle/kernel/errors.h | ||||
|             hle/kernel/event.h | ||||
|             hle/kernel/handle_table.h | ||||
|             hle/kernel/hle_ipc.h | ||||
|             hle/kernel/kernel.h | ||||
|             hle/kernel/memory.h | ||||
|             hle/kernel/mutex.h | ||||
|             hle/kernel/object_address_table.h | ||||
|             hle/kernel/process.h | ||||
|             hle/kernel/resource_limit.h | ||||
|             hle/kernel/server_port.h | ||||
|             hle/kernel/server_session.h | ||||
|             hle/kernel/session.h | ||||
|             hle/kernel/shared_memory.h | ||||
|             hle/kernel/sync_object.h | ||||
|             hle/kernel/svc.h | ||||
|             hle/kernel/svc_wrap.h | ||||
|             hle/kernel/thread.h | ||||
|             hle/kernel/timer.h | ||||
|             hle/kernel/vm_manager.h | ||||
|             hle/kernel/wait_object.h | ||||
|             hle/lock.h | ||||
|             hle/result.h | ||||
|             hle/romfs.h | ||||
|             hle/service/acc/acc.h | ||||
|             hle/service/acc/acc_u0.h | ||||
|             hle/service/am/am.h | ||||
|             hle/service/am/applet_oe.h | ||||
|             hle/service/aoc/aoc_u.h | ||||
|             hle/service/apm/apm.h | ||||
|             hle/service/audio/audio.h | ||||
|             hle/service/audio/audout_u.h | ||||
|             hle/service/hid/hid.h | ||||
|             hle/service/lm/lm.h | ||||
|             hle/service/nvdrv/devices/nvdevice.h | ||||
|             hle/service/nvdrv/devices/nvdisp_disp0.h | ||||
|             hle/service/nvdrv/devices/nvhost_as_gpu.h | ||||
|             hle/service/nvdrv/devices/nvmap.h | ||||
|             hle/service/nvdrv/interface.h | ||||
|             hle/service/nvdrv/nvdrv.h | ||||
|             hle/service/pctl/pctl.h | ||||
|             hle/service/pctl/pctl_a.h | ||||
|             hle/service/service.h | ||||
|             hle/service/sm/controller.h | ||||
|             hle/service/sm/sm.h | ||||
|             hle/service/time/time.h | ||||
|             hle/service/vi/vi.h | ||||
|             hle/service/vi/vi_m.h | ||||
|             hle/shared_page.h | ||||
|             hw/hw.h | ||||
|             hw/lcd.h | ||||
|             loader/elf.h | ||||
|             loader/linker.h | ||||
|             loader/loader.h | ||||
|             loader/nro.h | ||||
|             loader/nso.h | ||||
|             tracer/recorder.h | ||||
|             tracer/citrace.h | ||||
|             memory.h | ||||
|             memory_setup.h | ||||
|             mmio.h | ||||
|             perf_stats.h | ||||
|             settings.h | ||||
|             telemetry_session.h | ||||
|             ) | ||||
| create_target_directory_groups(core) | ||||
|  | ||||
| create_directory_groups(${SRCS} ${HEADERS}) | ||||
| add_library(core STATIC ${SRCS} ${HEADERS}) | ||||
| target_link_libraries(core PUBLIC common PRIVATE dynarmic video_core) | ||||
| target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt lz4_static unicorn) | ||||
|   | ||||
| @@ -1,25 +1,18 @@ | ||||
| set(SRCS | ||||
|             analog_from_button.cpp | ||||
|             keyboard.cpp | ||||
|             main.cpp | ||||
|             motion_emu.cpp | ||||
|             ) | ||||
| add_library(input_common STATIC | ||||
|     analog_from_button.cpp | ||||
|     analog_from_button.h | ||||
|     keyboard.cpp | ||||
|     keyboard.h | ||||
|     main.cpp | ||||
|     main.h | ||||
|     motion_emu.cpp | ||||
|     motion_emu.h | ||||
|  | ||||
| set(HEADERS | ||||
|             analog_from_button.h | ||||
|             keyboard.h | ||||
|             main.h | ||||
|             motion_emu.h | ||||
|             ) | ||||
|     $<$<BOOL:${SDL2_FOUND}>:sdl/sdl.cpp sdl/sdl.h> | ||||
| ) | ||||
|  | ||||
| if(SDL2_FOUND) | ||||
|     set(SRCS ${SRCS} sdl/sdl.cpp) | ||||
|     set(HEADERS ${HEADERS} sdl/sdl.h) | ||||
| endif() | ||||
| create_target_directory_groups(input_common) | ||||
|  | ||||
| create_directory_groups(${SRCS} ${HEADERS}) | ||||
|  | ||||
| add_library(input_common STATIC ${SRCS} ${HEADERS}) | ||||
| target_link_libraries(input_common PUBLIC core PRIVATE common) | ||||
|  | ||||
| if(SDL2_FOUND) | ||||
|   | ||||
| @@ -1,20 +1,16 @@ | ||||
| set(SRCS | ||||
|             common/param_package.cpp | ||||
|             core/arm/arm_test_common.cpp | ||||
|             core/core_timing.cpp | ||||
|             core/file_sys/path_parser.cpp | ||||
|             core/memory/memory.cpp | ||||
|             glad.cpp | ||||
|             tests.cpp | ||||
|             ) | ||||
| add_executable(tests | ||||
|     common/param_package.cpp | ||||
|     core/arm/arm_test_common.cpp | ||||
|     core/arm/arm_test_common.h | ||||
|     core/core_timing.cpp | ||||
|     core/file_sys/path_parser.cpp | ||||
|     core/memory/memory.cpp | ||||
|     glad.cpp | ||||
|     tests.cpp | ||||
| ) | ||||
|  | ||||
| set(HEADERS | ||||
|             core/arm/arm_test_common.h | ||||
|             ) | ||||
| create_target_directory_groups(tests) | ||||
|  | ||||
| create_directory_groups(${SRCS} ${HEADERS}) | ||||
|  | ||||
| add_executable(tests ${SRCS} ${HEADERS}) | ||||
| target_link_libraries(tests PRIVATE common core) | ||||
| target_link_libraries(tests PRIVATE glad) # To support linker work-around | ||||
| target_link_libraries(tests PRIVATE ${PLATFORM_LIBRARIES} catch-single-include Threads::Threads) | ||||
|   | ||||
| @@ -1,23 +1,19 @@ | ||||
| set(SRCS | ||||
|             renderer_base.cpp | ||||
|             renderer_opengl/gl_shader_util.cpp | ||||
|             renderer_opengl/gl_state.cpp | ||||
|             renderer_opengl/renderer_opengl.cpp | ||||
|             video_core.cpp | ||||
|             ) | ||||
| add_library(video_core STATIC | ||||
|     renderer_base.cpp | ||||
|     renderer_base.h | ||||
|     renderer_opengl/gl_resource_manager.h | ||||
|     renderer_opengl/gl_shader_util.cpp | ||||
|     renderer_opengl/gl_shader_util.h | ||||
|     renderer_opengl/gl_state.cpp | ||||
|     renderer_opengl/gl_state.h | ||||
|     renderer_opengl/renderer_opengl.cpp | ||||
|     renderer_opengl/renderer_opengl.h | ||||
|     utils.h | ||||
|     video_core.cpp | ||||
|     video_core.h | ||||
| ) | ||||
|  | ||||
| set(HEADERS | ||||
|             renderer_base.h | ||||
|             renderer_opengl/gl_resource_manager.h | ||||
|             renderer_opengl/gl_shader_util.h | ||||
|             renderer_opengl/gl_state.h | ||||
|             renderer_opengl/renderer_opengl.h | ||||
|             utils.h | ||||
|             video_core.h | ||||
|             ) | ||||
| create_target_directory_groups(video_core) | ||||
|  | ||||
| create_directory_groups(${SRCS} ${HEADERS}) | ||||
|  | ||||
| add_library(video_core STATIC ${SRCS} ${HEADERS}) | ||||
| target_link_libraries(video_core PUBLIC common core) | ||||
| target_link_libraries(video_core PRIVATE glad) | ||||
|   | ||||
| @@ -3,79 +3,84 @@ set(CMAKE_AUTORCC ON) | ||||
| set(CMAKE_INCLUDE_CURRENT_DIR ON) | ||||
| set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules) | ||||
|  | ||||
| set(SRCS | ||||
|             about_dialog.cpp | ||||
|             configuration/config.cpp | ||||
|             configuration/configure_debug.cpp | ||||
|             configuration/configure_dialog.cpp | ||||
|             configuration/configure_general.cpp | ||||
|             configuration/configure_graphics.cpp | ||||
|             configuration/configure_input.cpp | ||||
|             configuration/configure_system.cpp | ||||
|             debugger/profiler.cpp | ||||
|             debugger/registers.cpp | ||||
|             debugger/wait_tree.cpp | ||||
|             util/spinbox.cpp | ||||
|             util/util.cpp | ||||
|             bootmanager.cpp | ||||
|             game_list.cpp | ||||
|             hotkeys.cpp | ||||
|             main.cpp | ||||
|             ui_settings.cpp | ||||
|             yuzu.rc | ||||
|             Info.plist | ||||
|             ) | ||||
|  | ||||
| set(HEADERS | ||||
|             about_dialog.h | ||||
|             configuration/config.h | ||||
|             configuration/configure_debug.h | ||||
|             configuration/configure_dialog.h | ||||
|             configuration/configure_general.h | ||||
|             configuration/configure_graphics.h | ||||
|             configuration/configure_input.h | ||||
|             configuration/configure_system.h | ||||
|             debugger/profiler.h | ||||
|             debugger/registers.h | ||||
|             debugger/wait_tree.h | ||||
|             util/spinbox.h | ||||
|             util/util.h | ||||
|             bootmanager.h | ||||
|             game_list.h | ||||
|             game_list_p.h | ||||
|             hotkeys.h | ||||
|             main.h | ||||
|             ui_settings.h | ||||
|             ) | ||||
| add_executable(yuzu | ||||
|     Info.plist | ||||
|     about_dialog.cpp | ||||
|     about_dialog.h | ||||
|     bootmanager.cpp | ||||
|     bootmanager.h | ||||
|     configuration/config.cpp | ||||
|     configuration/config.h | ||||
|     configuration/configure_debug.cpp | ||||
|     configuration/configure_debug.h | ||||
|     configuration/configure_dialog.cpp | ||||
|     configuration/configure_dialog.h | ||||
|     configuration/configure_general.cpp | ||||
|     configuration/configure_general.h | ||||
|     configuration/configure_graphics.cpp | ||||
|     configuration/configure_graphics.h | ||||
|     configuration/configure_input.cpp | ||||
|     configuration/configure_input.h | ||||
|     configuration/configure_system.cpp | ||||
|     configuration/configure_system.h | ||||
|     debugger/profiler.cpp | ||||
|     debugger/profiler.h | ||||
|     debugger/registers.cpp | ||||
|     debugger/registers.h | ||||
|     debugger/wait_tree.cpp | ||||
|     debugger/wait_tree.h | ||||
|     game_list.cpp | ||||
|     game_list.h | ||||
|     game_list_p.h | ||||
|     hotkeys.cpp | ||||
|     hotkeys.h | ||||
|     main.cpp | ||||
|     main.h | ||||
|     ui_settings.cpp | ||||
|     ui_settings.h | ||||
|     util/spinbox.cpp | ||||
|     util/spinbox.h | ||||
|     util/util.cpp | ||||
|     util/util.h | ||||
|     yuzu.rc | ||||
| ) | ||||
|  | ||||
| set(UIS | ||||
|             aboutdialog.ui | ||||
|             configuration/configure.ui | ||||
|             configuration/configure_debug.ui | ||||
|             configuration/configure_general.ui | ||||
|             configuration/configure_graphics.ui | ||||
|             configuration/configure_input.ui | ||||
|             configuration/configure_system.ui | ||||
|             debugger/registers.ui | ||||
|             hotkeys.ui | ||||
|             main.ui | ||||
|             ) | ||||
|     aboutdialog.ui | ||||
|     configuration/configure.ui | ||||
|     configuration/configure_debug.ui | ||||
|     configuration/configure_general.ui | ||||
|     configuration/configure_graphics.ui | ||||
|     configuration/configure_input.ui | ||||
|     configuration/configure_system.ui | ||||
|     debugger/registers.ui | ||||
|     hotkeys.ui | ||||
|     main.ui | ||||
| ) | ||||
|  | ||||
| file(GLOB_RECURSE ICONS ${CMAKE_SOURCE_DIR}/dist/icons/*) | ||||
| file(GLOB_RECURSE THEMES ${CMAKE_SOURCE_DIR}/dist/qt_themes/*) | ||||
|  | ||||
| create_directory_groups(${SRCS} ${HEADERS} ${UIS}) | ||||
|  | ||||
| qt5_wrap_ui(UI_HDRS ${UIS}) | ||||
|  | ||||
| target_sources(yuzu | ||||
|     PRIVATE | ||||
|         ${ICONS} | ||||
|         ${THEMES} | ||||
|         ${UI_HDRS} | ||||
|         ${UIS} | ||||
| ) | ||||
|  | ||||
| if (APPLE) | ||||
|     set(MACOSX_ICON "../../dist/yuzu.icns") | ||||
|     set_source_files_properties(${MACOSX_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) | ||||
|     add_executable(yuzu MACOSX_BUNDLE ${SRCS} ${HEADERS} ${UI_HDRS} ${MACOSX_ICON} ${ICONS}) | ||||
|     target_sources(yuzu PRIVATE ${MACOSX_ICON}) | ||||
|     set_target_properties(yuzu PROPERTIES MACOSX_BUNDLE TRUE) | ||||
|     set_target_properties(yuzu PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist) | ||||
| else() | ||||
|     add_executable(yuzu ${SRCS} ${HEADERS} ${UI_HDRS} ${ICONS}) | ||||
| endif() | ||||
|  | ||||
| create_target_directory_groups(yuzu) | ||||
|  | ||||
| target_link_libraries(yuzu PRIVATE common core input_common video_core) | ||||
| target_link_libraries(yuzu PRIVATE Boost::boost glad Qt5::OpenGL Qt5::Widgets) | ||||
| target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads) | ||||
|   | ||||
| @@ -1,21 +1,18 @@ | ||||
| set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules) | ||||
|  | ||||
| set(SRCS | ||||
|             emu_window/emu_window_sdl2.cpp | ||||
|             config.cpp | ||||
|             yuzu.cpp | ||||
|             yuzu.rc | ||||
|             ) | ||||
| set(HEADERS | ||||
|             emu_window/emu_window_sdl2.h | ||||
|             config.h | ||||
|             default_ini.h | ||||
|             resource.h | ||||
|             ) | ||||
| add_executable(yuzu-cmd | ||||
|     config.cpp | ||||
|     config.h | ||||
|     default_ini.h | ||||
|     emu_window/emu_window_sdl2.cpp | ||||
|     emu_window/emu_window_sdl2.h | ||||
|     resource.h | ||||
|     yuzu.cpp | ||||
|     yuzu.rc | ||||
| ) | ||||
|  | ||||
| create_directory_groups(${SRCS} ${HEADERS}) | ||||
| create_target_directory_groups(yuzu-cmd) | ||||
|  | ||||
| add_executable(yuzu-cmd ${SRCS} ${HEADERS}) | ||||
| target_link_libraries(yuzu-cmd PRIVATE common core input_common) | ||||
| target_link_libraries(yuzu-cmd PRIVATE inih glad) | ||||
| if (MSVC) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user