mirror of
				https://git.suyu.dev/suyu/suyu.git
				synced 2025-11-04 12:34:39 +08:00 
			
		
		
		
	CMakeLists: Derive the source directory grouping from targets themselves
Removes the need to store to separate SRC and HEADER variables, and then construct the target in most cases.
This commit is contained in:
		
							parent
							
								
									ee08c39b72
								
							
						
					
					
						commit
						e710a1b989
					
				@ -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)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user