| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- # 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
- emu_window/emu_window_sdl2_gl.cpp
- emu_window/emu_window_sdl2_gl.h
- emu_window/emu_window_sdl2_null.cpp
- emu_window/emu_window_sdl2_null.h
- emu_window/emu_window_sdl2_vk.cpp
- emu_window/emu_window_sdl2_vk.h
- precompiled_headers.h
- sdl_config.cpp
- sdl_config.h
- yuzu.cpp
- suyu.rc
- )
- target_link_libraries(yuzu-cmd PRIVATE common core input_common frontend_common)
- target_link_libraries(yuzu-cmd PRIVATE glad)
- if (MSVC)
- target_link_libraries(yuzu-cmd PRIVATE getopt)
- endif()
- target_link_libraries(yuzu-cmd PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
- create_resource("../../dist/suyu.bmp" "yuzu_cmd/yuzu_icon.h" "yuzu_icon")
- target_include_directories(yuzu-cmd PRIVATE ${RESOURCES_DIR})
- target_link_libraries(yuzu-cmd PRIVATE SDL2::SDL2 Vulkan::Headers)
- if(UNIX AND NOT APPLE)
- install(TARGETS yuzu-cmd)
- endif()
- 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()
- if (MSVC)
- include(CopyYuzuSDLDeps)
- copy_yuzu_SDL_deps(yuzu-cmd)
- endif()
- if (YUZU_USE_PRECOMPILED_HEADERS)
- target_precompile_headers(yuzu-cmd PRIVATE precompiled_headers.h)
- endif()
- create_target_directory_groups(yuzu-cmd)
|