diff options
| -rw-r--r-- | CMakeLists.txt | 6 | ||||
| -rw-r--r-- | externals/getopt/CMakeLists.txt | 14 | ||||
| -rw-r--r-- | externals/glad/CMakeLists.txt | 15 | ||||
| -rw-r--r-- | externals/inih/CMakeLists.txt | 17 | ||||
| -rw-r--r-- | src/common/CMakeLists.txt | 120 | ||||
| -rw-r--r-- | src/core/CMakeLists.txt | 337 | ||||
| -rw-r--r-- | src/input_common/CMakeLists.txt | 31 | ||||
| -rw-r--r-- | src/tests/CMakeLists.txt | 26 | ||||
| -rw-r--r-- | src/video_core/CMakeLists.txt | 34 | ||||
| -rw-r--r-- | src/yuzu/CMakeLists.txt | 125 | ||||
| -rw-r--r-- | src/yuzu_cmd/CMakeLists.txt | 25 | 
11 files changed, 361 insertions, 389 deletions
| diff --git a/CMakeLists.txt b/CMakeLists.txt index d814bb74f..aa2154cb1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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}") diff --git a/externals/getopt/CMakeLists.txt b/externals/getopt/CMakeLists.txt index c8b745d55..ad7a2b363 100644 --- a/externals/getopt/CMakeLists.txt +++ b/externals/getopt/CMakeLists.txt @@ -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}) diff --git a/externals/glad/CMakeLists.txt b/externals/glad/CMakeLists.txt index 6d35a844b..c43ae475a 100644 --- a/externals/glad/CMakeLists.txt +++ b/externals/glad/CMakeLists.txt @@ -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") diff --git a/externals/inih/CMakeLists.txt b/externals/inih/CMakeLists.txt index cff36a581..2a75852c2 100644 --- a/externals/inih/CMakeLists.txt +++ b/externals/inih/CMakeLists.txt @@ -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 .) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 26cf9480b..1af80769a 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -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) diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index e77261dc4..c05244b7e 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -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) diff --git a/src/input_common/CMakeLists.txt b/src/input_common/CMakeLists.txt index 92792a702..1c7db28c0 100644 --- a/src/input_common/CMakeLists.txt +++ b/src/input_common/CMakeLists.txt @@ -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_directory_groups(${SRCS} ${HEADERS}) +create_target_directory_groups(input_common) -add_library(input_common STATIC ${SRCS} ${HEADERS})  target_link_libraries(input_common PUBLIC core PRIVATE common)  if(SDL2_FOUND) diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index 1b8fb2a9f..12f1b93e0 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -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) diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt index 3fd177c46..69f2b4afd 100644 --- a/src/video_core/CMakeLists.txt +++ b/src/video_core/CMakeLists.txt @@ -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) diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt index f5c46f1e9..0c4056c49 100644 --- a/src/yuzu/CMakeLists.txt +++ b/src/yuzu/CMakeLists.txt @@ -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) diff --git a/src/yuzu_cmd/CMakeLists.txt b/src/yuzu_cmd/CMakeLists.txt index 433e210b0..297dab653 100644 --- a/src/yuzu_cmd/CMakeLists.txt +++ b/src/yuzu_cmd/CMakeLists.txt @@ -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) | 
