Browse Source
CMakeLists: Derive the source directory grouping from targets themselves
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.nce_cpp
11 changed files with 361 additions and 389 deletions
-
6CMakeLists.txt
-
14externals/getopt/CMakeLists.txt
-
15externals/glad/CMakeLists.txt
-
17externals/inih/CMakeLists.txt
-
120src/common/CMakeLists.txt
-
337src/core/CMakeLists.txt
-
31src/input_common/CMakeLists.txt
-
26src/tests/CMakeLists.txt
-
34src/video_core/CMakeLists.txt
-
125src/yuzu/CMakeLists.txt
-
25src/yuzu_cmd/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}) |
|||
@ -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 .) |
|||
@ -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,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) |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue