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_compile_definitions(getopt PUBLIC STATIC_GETOPT) |
||||
target_include_directories(getopt INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) |
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 .) |
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 common PRIVATE dynarmic video_core) |
||||
target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt lz4_static unicorn) |
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 PUBLIC common core) |
||||
target_link_libraries(video_core PRIVATE glad) |
target_link_libraries(video_core PRIVATE glad) |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue