Files
eden/src/yuzu_cmd/CMakeLists.txt
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

68 lines
2.2 KiB
CMake
Raw Normal View History

# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
2022-05-15 02:06:02 +02:00
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
# 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
emu_window/emu_window_sdl2.cpp
emu_window/emu_window_sdl2.h
2020-01-21 16:40:53 -03:00
emu_window/emu_window_sdl2_gl.cpp
emu_window/emu_window_sdl2_gl.h
2022-11-27 20:37:37 -05:00
emu_window/emu_window_sdl2_null.cpp
emu_window/emu_window_sdl2_null.h
2020-12-24 20:22:07 -03:00
emu_window/emu_window_sdl2_vk.cpp
emu_window/emu_window_sdl2_vk.h
sdl_config.cpp
sdl_config.h
yuzu.cpp
yuzu.rc
)
2014-08-23 22:22:05 -03:00
target_link_libraries(yuzu-cmd PRIVATE common core input_common frontend_common video_core)
2023-11-12 02:03:55 -05:00
target_link_libraries(yuzu-cmd PRIVATE glad)
if (MSVC)
2018-01-11 19:21:20 -07:00
target_link_libraries(yuzu-cmd PRIVATE getopt)
endif()
2022-12-04 10:59:58 -05:00
target_link_libraries(yuzu-cmd PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
2014-04-30 16:56:25 -07:00
create_resource("../../dist/yuzu.bmp" "yuzu_cmd/yuzu_icon.h" "yuzu_icon")
target_include_directories(yuzu-cmd PRIVATE ${RESOURCES_DIR})
target_link_libraries(yuzu-cmd PRIVATE SDL2::SDL2)
if(UNIX AND NOT APPLE)
install(TARGETS yuzu-cmd)
endif()
2016-03-01 17:24:18 +00:00
if(WIN32)
# compile as a win32 gui application instead of a console application
if(MSVC)
set_target_properties(yuzu-cmd PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup")
elseif(MINGW)
set_target_properties(yuzu-cmd PROPERTIES LINK_FLAGS_RELEASE "-Wl,--subsystem,windows")
endif()
endif()
2024-01-26 15:29:04 +00:00
create_target_directory_groups(yuzu-cmd)
# needed for vma
if (NOT MSVC)
target_compile_options(yuzu-cmd PRIVATE
-Wno-conversion
-Wno-unused-variable
-Wno-unused-parameter
-Wno-missing-field-initializers)
endif()