pineapple/src/yuzu_cmd/CMakeLists.txt

60 lines
2 KiB
Text
Raw Normal View History

2022-11-05 13:58:44 +01:00
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
# Credits to Samantas5855 and others for this function.
function(create_resource file output filename)
# Read hex data from file
file(READ ${file} filedata HEX)
# Convert hex data for C compatibility
string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," filedata ${filedata})
# Write data to output file
set(RESOURCES_DIR "${PROJECT_BINARY_DIR}/dist" PARENT_SCOPE)
file(WRITE "${PROJECT_BINARY_DIR}/dist/${output}" "const unsigned char ${filename}[] = {${filedata}};\nconst unsigned ${filename}_size = sizeof(${filename});\n")
endfunction()
add_executable(yuzu-cmd
config.cpp
config.h
default_ini.h
emu_window/emu_window_sdl2.cpp
emu_window/emu_window_sdl2.h
emu_window/emu_window_sdl2_gl.cpp
emu_window/emu_window_sdl2_gl.h
2022-12-03 18:20:46 +01:00
emu_window/emu_window_sdl2_null.cpp
emu_window/emu_window_sdl2_null.h
2022-11-05 13:58:44 +01:00
emu_window/emu_window_sdl2_vk.cpp
emu_window/emu_window_sdl2_vk.h
2022-11-30 06:29:32 +01:00
precompiled_headers.h
2022-11-05 13:58:44 +01:00
yuzu.cpp
yuzu.rc
)
create_target_directory_groups(yuzu-cmd)
target_link_libraries(yuzu-cmd PRIVATE common core input_common)
2022-12-04 20:53:13 +01:00
target_link_libraries(yuzu-cmd PRIVATE inih::INIReader glad)
2022-11-05 13:58:44 +01:00
if (MSVC)
target_link_libraries(yuzu-cmd PRIVATE getopt)
endif()
2022-12-04 19:29:05 +01:00
target_link_libraries(yuzu-cmd PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
2022-11-05 13:58:44 +01:00
create_resource("../../dist/yuzu.bmp" "yuzu_cmd/yuzu_icon.h" "yuzu_icon")
target_include_directories(yuzu-cmd PRIVATE ${RESOURCES_DIR})
2022-12-06 17:31:52 +01:00
target_link_libraries(yuzu-cmd PRIVATE SDL2::SDL2 Vulkan::Headers)
2022-11-05 13:58:44 +01:00
if(UNIX AND NOT APPLE)
install(TARGETS yuzu-cmd)
endif()
if (MSVC)
include(CopyYuzuSDLDeps)
copy_yuzu_SDL_deps(yuzu-cmd)
endif()
2022-11-30 06:29:32 +01:00
if (YUZU_USE_PRECOMPILED_HEADERS)
target_precompile_headers(yuzu-cmd PRIVATE precompiled_headers.h)
endif()