Merge pull request #84 from lioncash/cmake

CMakeLists: Derive the source directory grouping from targets themselves
This commit is contained in:
bunnei 2018-01-18 01:37:17 -05:00 committed by GitHub
commit be0e14ab3e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 361 additions and 389 deletions

View File

@ -323,12 +323,14 @@ endif()
# This function should be passed a list of all files in a target. It will automatically generate # 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 # file groups following the directory hierarchy, so that the layout of the files in IDEs matches the
# one in the filesystem. # 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 # Place any files that aren't in the source list in a separate group so that they don't get in
# the way. # the way.
source_group("Other Files" REGULAR_EXPRESSION ".") 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) get_filename_component(dir_name "${file_name}" PATH)
# Group names use '\' as a separator even though the entire rest of CMake uses '/'... # Group names use '\' as a separator even though the entire rest of CMake uses '/'...
string(REPLACE "/" "\\" group_name "${dir_name}") string(REPLACE "/" "\\" group_name "${dir_name}")

View File

@ -1,11 +1,9 @@
set(SRCS add_library(getopt
getopt.c getopt.c
) getopt.h
set(HEADERS )
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})

View File

@ -1,13 +1,10 @@
set(SRCS add_library(glad STATIC
src/glad.c src/glad.c
) include/KHR/khrplatform.h
set(HEADERS include/glad/glad.h
include/KHR/khrplatform.h )
include/glad/glad.h
)
create_directory_groups(${SRCS} ${HEADERS}) create_target_directory_groups(glad)
add_library(glad STATIC ${SRCS} ${HEADERS})
target_include_directories(glad PUBLIC "include/") target_include_directories(glad PUBLIC "include/")
if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux") if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")

View File

@ -1,12 +1,9 @@
set(SRCS add_library(inih
inih/ini.c inih/ini.c
inih/cpp/INIReader.cpp inih/ini.h
) inih/cpp/INIReader.cpp
set(HEADERS inih/cpp/INIReader.h
inih/ini.h )
inih/cpp/INIReader.h
)
create_directory_groups(${SRCS} ${HEADERS}) create_target_directory_groups(inih)
add_library(inih ${SRCS} ${HEADERS})
target_include_directories(inih INTERFACE .) target_include_directories(inih INTERFACE .)

View File

@ -24,78 +24,72 @@ if ($ENV{CI})
endif() endif()
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp.in" "${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp" @ONLY) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp.in" "${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp" @ONLY)
set(SRCS add_library(common STATIC
break_points.cpp alignment.h
file_util.cpp assert.h
hash.cpp bit_field.h
logging/filter.cpp bit_set.h
logging/text_formatter.cpp break_points.cpp
logging/backend.cpp break_points.h
memory_util.cpp chunk_file.h
microprofile.cpp code_block.h
misc.cpp color.h
param_package.cpp common_funcs.h
scm_rev.cpp common_paths.h
string_util.cpp common_types.h
telemetry.cpp file_util.cpp
thread.cpp file_util.h
timer.cpp hash.cpp
) hash.h
linear_disk_cache.h
set(HEADERS logging/backend.cpp
alignment.h logging/backend.h
assert.h logging/filter.cpp
bit_field.h logging/filter.h
bit_set.h logging/log.h
break_points.h logging/text_formatter.cpp
chunk_file.h logging/text_formatter.h
code_block.h math_util.h
color.h memory_util.cpp
common_funcs.h memory_util.h
common_paths.h microprofile.cpp
common_types.h microprofile.h
file_util.h microprofileui.h
hash.h misc.cpp
linear_disk_cache.h param_package.cpp
logging/text_formatter.h param_package.h
logging/filter.h platform.h
logging/log.h quaternion.h
logging/backend.h scm_rev.cpp
math_util.h scm_rev.h
memory_util.h scope_exit.h
microprofile.h string_util.cpp
microprofileui.h string_util.h
param_package.h swap.h
platform.h synchronized_wrapper.h
quaternion.h telemetry.cpp
scm_rev.h telemetry.h
scope_exit.h thread.cpp
string_util.h thread.h
swap.h thread_queue_list.h
synchronized_wrapper.h threadsafe_queue.h
telemetry.h timer.cpp
thread.h timer.h
thread_queue_list.h vector_math.h
threadsafe_queue.h )
timer.h
vector_math.h
)
if(ARCHITECTURE_x86_64) if(ARCHITECTURE_x86_64)
set(SRCS ${SRCS} target_sources(common
PRIVATE
x64/cpu_detect.cpp x64/cpu_detect.cpp
)
set(HEADERS ${HEADERS}
x64/cpu_detect.h x64/cpu_detect.h
x64/xbyak_abi.h x64/xbyak_abi.h
x64/xbyak_util.h x64/xbyak_util.h
) )
endif() 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) target_link_libraries(common PUBLIC Boost::boost microprofile)
if (ARCHITECTURE_x86_64) if (ARCHITECTURE_x86_64)
target_link_libraries(common PRIVATE xbyak) target_link_libraries(common PRIVATE xbyak)

View File

@ -1,174 +1,171 @@
set(SRCS add_library(core STATIC
arm/dynarmic/arm_dynarmic.cpp arm/arm_interface.h
arm/unicorn/arm_unicorn.cpp arm/dynarmic/arm_dynarmic.cpp
core.cpp arm/dynarmic/arm_dynarmic.h
core_timing.cpp arm/unicorn/arm_unicorn.cpp
file_sys/archive_backend.cpp arm/unicorn/arm_unicorn.h
file_sys/disk_archive.cpp core.cpp
file_sys/ivfc_archive.cpp core.h
file_sys/path_parser.cpp core_timing.cpp
file_sys/savedata_archive.cpp core_timing.h
file_sys/title_metadata.cpp file_sys/archive_backend.cpp
frontend/emu_window.cpp file_sys/archive_backend.h
frontend/framebuffer_layout.cpp file_sys/directory_backend.h
gdbstub/gdbstub.cpp file_sys/disk_archive.cpp
hle/config_mem.cpp file_sys/disk_archive.h
hle/kernel/address_arbiter.cpp file_sys/errors.h
hle/kernel/client_port.cpp file_sys/file_backend.h
hle/kernel/client_session.cpp file_sys/ivfc_archive.cpp
hle/kernel/condition_variable.cpp file_sys/ivfc_archive.h
hle/kernel/domain.cpp file_sys/path_parser.cpp
hle/kernel/event.cpp file_sys/path_parser.h
hle/kernel/handle_table.cpp file_sys/savedata_archive.cpp
hle/kernel/hle_ipc.cpp file_sys/savedata_archive.h
hle/kernel/kernel.cpp file_sys/title_metadata.cpp
hle/kernel/memory.cpp file_sys/title_metadata.h
hle/kernel/mutex.cpp frontend/emu_window.cpp
hle/kernel/object_address_table.cpp frontend/emu_window.h
hle/kernel/process.cpp frontend/framebuffer_layout.cpp
hle/kernel/resource_limit.cpp frontend/framebuffer_layout.h
hle/kernel/server_port.cpp frontend/input.h
hle/kernel/server_session.cpp gdbstub/gdbstub.cpp
hle/kernel/shared_memory.cpp gdbstub/gdbstub.h
hle/kernel/svc.cpp hle/config_mem.cpp
hle/kernel/thread.cpp hle/config_mem.h
hle/kernel/timer.cpp hle/ipc.h
hle/kernel/vm_manager.cpp hle/ipc_helpers.h
hle/kernel/wait_object.cpp hle/kernel/address_arbiter.cpp
hle/lock.cpp hle/kernel/address_arbiter.h
hle/romfs.cpp hle/kernel/client_port.cpp
hle/service/acc/acc.cpp hle/kernel/client_port.h
hle/service/acc/acc_u0.cpp hle/kernel/client_session.cpp
hle/service/am/am.cpp hle/kernel/client_session.h
hle/service/am/applet_oe.cpp hle/kernel/condition_variable.cpp
hle/service/aoc/aoc_u.cpp hle/kernel/condition_variable.h
hle/service/apm/apm.cpp hle/kernel/domain.cpp
hle/service/audio/audio.cpp hle/kernel/domain.h
hle/service/audio/audout_u.cpp hle/kernel/errors.h
hle/service/hid/hid.cpp hle/kernel/event.cpp
hle/service/lm/lm.cpp hle/kernel/event.h
hle/service/nvdrv/devices/nvdisp_disp0.cpp hle/kernel/handle_table.cpp
hle/service/nvdrv/devices/nvhost_as_gpu.cpp hle/kernel/handle_table.h
hle/service/nvdrv/devices/nvmap.cpp hle/kernel/hle_ipc.cpp
hle/service/nvdrv/interface.cpp hle/kernel/hle_ipc.h
hle/service/nvdrv/nvdrv.cpp hle/kernel/kernel.cpp
hle/service/pctl/pctl.cpp hle/kernel/kernel.h
hle/service/pctl/pctl_a.cpp hle/kernel/memory.cpp
hle/service/service.cpp hle/kernel/memory.h
hle/service/sm/controller.cpp hle/kernel/mutex.cpp
hle/service/sm/sm.cpp hle/kernel/mutex.h
hle/service/time/time.cpp hle/kernel/object_address_table.cpp
hle/service/vi/vi.cpp hle/kernel/object_address_table.h
hle/service/vi/vi_m.cpp hle/kernel/process.cpp
hle/shared_page.cpp hle/kernel/process.h
hw/hw.cpp hle/kernel/resource_limit.cpp
hw/lcd.cpp hle/kernel/resource_limit.h
loader/elf.cpp hle/kernel/server_port.cpp
loader/linker.cpp hle/kernel/server_port.h
loader/loader.cpp hle/kernel/server_session.cpp
loader/nro.cpp hle/kernel/server_session.h
loader/nso.cpp hle/kernel/session.h
tracer/recorder.cpp hle/kernel/shared_memory.cpp
memory.cpp hle/kernel/shared_memory.h
perf_stats.cpp hle/kernel/svc.cpp
settings.cpp hle/kernel/svc.h
telemetry_session.cpp 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 create_target_directory_groups(core)
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_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)

View File

@ -1,25 +1,18 @@
set(SRCS add_library(input_common STATIC
analog_from_button.cpp analog_from_button.cpp
keyboard.cpp analog_from_button.h
main.cpp keyboard.cpp
motion_emu.cpp keyboard.h
) main.cpp
main.h
motion_emu.cpp
motion_emu.h
set(HEADERS $<$<BOOL:${SDL2_FOUND}>:sdl/sdl.cpp sdl/sdl.h>
analog_from_button.h )
keyboard.h
main.h
motion_emu.h
)
if(SDL2_FOUND) create_target_directory_groups(input_common)
set(SRCS ${SRCS} sdl/sdl.cpp)
set(HEADERS ${HEADERS} sdl/sdl.h)
endif()
create_directory_groups(${SRCS} ${HEADERS})
add_library(input_common STATIC ${SRCS} ${HEADERS})
target_link_libraries(input_common PUBLIC core PRIVATE common) target_link_libraries(input_common PUBLIC core PRIVATE common)
if(SDL2_FOUND) if(SDL2_FOUND)

View File

@ -1,20 +1,16 @@
set(SRCS add_executable(tests
common/param_package.cpp common/param_package.cpp
core/arm/arm_test_common.cpp core/arm/arm_test_common.cpp
core/core_timing.cpp core/arm/arm_test_common.h
core/file_sys/path_parser.cpp core/core_timing.cpp
core/memory/memory.cpp core/file_sys/path_parser.cpp
glad.cpp core/memory/memory.cpp
tests.cpp glad.cpp
) tests.cpp
)
set(HEADERS create_target_directory_groups(tests)
core/arm/arm_test_common.h
)
create_directory_groups(${SRCS} ${HEADERS})
add_executable(tests ${SRCS} ${HEADERS})
target_link_libraries(tests PRIVATE common core) target_link_libraries(tests PRIVATE common core)
target_link_libraries(tests PRIVATE glad) # To support linker work-around target_link_libraries(tests PRIVATE glad) # To support linker work-around
target_link_libraries(tests PRIVATE ${PLATFORM_LIBRARIES} catch-single-include Threads::Threads) target_link_libraries(tests PRIVATE ${PLATFORM_LIBRARIES} catch-single-include Threads::Threads)

View File

@ -1,23 +1,19 @@
set(SRCS add_library(video_core STATIC
renderer_base.cpp renderer_base.cpp
renderer_opengl/gl_shader_util.cpp renderer_base.h
renderer_opengl/gl_state.cpp renderer_opengl/gl_resource_manager.h
renderer_opengl/renderer_opengl.cpp renderer_opengl/gl_shader_util.cpp
video_core.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 create_target_directory_groups(video_core)
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_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)

View File

@ -3,79 +3,84 @@ set(CMAKE_AUTORCC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
set(SRCS add_executable(yuzu
about_dialog.cpp Info.plist
configuration/config.cpp about_dialog.cpp
configuration/configure_debug.cpp about_dialog.h
configuration/configure_dialog.cpp bootmanager.cpp
configuration/configure_general.cpp bootmanager.h
configuration/configure_graphics.cpp configuration/config.cpp
configuration/configure_input.cpp configuration/config.h
configuration/configure_system.cpp configuration/configure_debug.cpp
debugger/profiler.cpp configuration/configure_debug.h
debugger/registers.cpp configuration/configure_dialog.cpp
debugger/wait_tree.cpp configuration/configure_dialog.h
util/spinbox.cpp configuration/configure_general.cpp
util/util.cpp configuration/configure_general.h
bootmanager.cpp configuration/configure_graphics.cpp
game_list.cpp configuration/configure_graphics.h
hotkeys.cpp configuration/configure_input.cpp
main.cpp configuration/configure_input.h
ui_settings.cpp configuration/configure_system.cpp
yuzu.rc configuration/configure_system.h
Info.plist debugger/profiler.cpp
) debugger/profiler.h
debugger/registers.cpp
set(HEADERS debugger/registers.h
about_dialog.h debugger/wait_tree.cpp
configuration/config.h debugger/wait_tree.h
configuration/configure_debug.h game_list.cpp
configuration/configure_dialog.h game_list.h
configuration/configure_general.h game_list_p.h
configuration/configure_graphics.h hotkeys.cpp
configuration/configure_input.h hotkeys.h
configuration/configure_system.h main.cpp
debugger/profiler.h main.h
debugger/registers.h ui_settings.cpp
debugger/wait_tree.h ui_settings.h
util/spinbox.h util/spinbox.cpp
util/util.h util/spinbox.h
bootmanager.h util/util.cpp
game_list.h util/util.h
game_list_p.h yuzu.rc
hotkeys.h )
main.h
ui_settings.h
)
set(UIS set(UIS
aboutdialog.ui aboutdialog.ui
configuration/configure.ui configuration/configure.ui
configuration/configure_debug.ui configuration/configure_debug.ui
configuration/configure_general.ui configuration/configure_general.ui
configuration/configure_graphics.ui configuration/configure_graphics.ui
configuration/configure_input.ui configuration/configure_input.ui
configuration/configure_system.ui configuration/configure_system.ui
debugger/registers.ui debugger/registers.ui
hotkeys.ui hotkeys.ui
main.ui main.ui
) )
file(GLOB_RECURSE ICONS ${CMAKE_SOURCE_DIR}/dist/icons/*) file(GLOB_RECURSE ICONS ${CMAKE_SOURCE_DIR}/dist/icons/*)
file(GLOB_RECURSE THEMES ${CMAKE_SOURCE_DIR}/dist/qt_themes/*) file(GLOB_RECURSE THEMES ${CMAKE_SOURCE_DIR}/dist/qt_themes/*)
create_directory_groups(${SRCS} ${HEADERS} ${UIS})
qt5_wrap_ui(UI_HDRS ${UIS}) qt5_wrap_ui(UI_HDRS ${UIS})
target_sources(yuzu
PRIVATE
${ICONS}
${THEMES}
${UI_HDRS}
${UIS}
)
if (APPLE) if (APPLE)
set(MACOSX_ICON "../../dist/yuzu.icns") set(MACOSX_ICON "../../dist/yuzu.icns")
set_source_files_properties(${MACOSX_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) 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) 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() endif()
create_target_directory_groups(yuzu)
target_link_libraries(yuzu PRIVATE common core input_common video_core) 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 Boost::boost glad Qt5::OpenGL Qt5::Widgets)
target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads) target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)

View File

@ -1,21 +1,18 @@
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
set(SRCS add_executable(yuzu-cmd
emu_window/emu_window_sdl2.cpp config.cpp
config.cpp config.h
yuzu.cpp default_ini.h
yuzu.rc emu_window/emu_window_sdl2.cpp
) emu_window/emu_window_sdl2.h
set(HEADERS resource.h
emu_window/emu_window_sdl2.h yuzu.cpp
config.h yuzu.rc
default_ini.h )
resource.h
)
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 common core input_common)
target_link_libraries(yuzu-cmd PRIVATE inih glad) target_link_libraries(yuzu-cmd PRIVATE inih glad)
if (MSVC) if (MSVC)