2016-12-13 00:01:48 +01:00
|
|
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
|
|
|
|
|
2021-02-14 09:20:41 +01:00
|
|
|
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()
|
|
|
|
|
2018-01-18 01:37:34 +01:00
|
|
|
add_executable(yuzu-cmd
|
|
|
|
config.cpp
|
|
|
|
config.h
|
|
|
|
default_ini.h
|
|
|
|
emu_window/emu_window_sdl2.cpp
|
|
|
|
emu_window/emu_window_sdl2.h
|
2020-01-21 20:40:53 +01:00
|
|
|
emu_window/emu_window_sdl2_gl.cpp
|
|
|
|
emu_window/emu_window_sdl2_gl.h
|
2020-12-25 00:22:07 +01:00
|
|
|
emu_window/emu_window_sdl2_vk.cpp
|
|
|
|
emu_window/emu_window_sdl2_vk.h
|
2018-01-18 01:37:34 +01:00
|
|
|
yuzu.cpp
|
|
|
|
yuzu.rc
|
|
|
|
)
|
2014-08-24 03:22:05 +02:00
|
|
|
|
2018-01-18 01:37:34 +01:00
|
|
|
create_target_directory_groups(yuzu-cmd)
|
2013-09-26 23:34:48 +02:00
|
|
|
|
2018-01-12 03:21:20 +01:00
|
|
|
target_link_libraries(yuzu-cmd PRIVATE common core input_common)
|
|
|
|
target_link_libraries(yuzu-cmd PRIVATE inih glad)
|
2015-06-23 02:59:00 +02:00
|
|
|
if (MSVC)
|
2018-01-12 03:21:20 +01:00
|
|
|
target_link_libraries(yuzu-cmd PRIVATE getopt)
|
2015-06-23 02:59:00 +02:00
|
|
|
endif()
|
2018-01-12 03:21:20 +01:00
|
|
|
target_link_libraries(yuzu-cmd PRIVATE ${PLATFORM_LIBRARIES} SDL2 Threads::Threads)
|
2014-05-01 01:56:25 +02:00
|
|
|
|
2021-02-14 09:20:41 +01:00
|
|
|
create_resource("../../dist/yuzu.bmp" "yuzu_cmd/yuzu_icon.h" "yuzu_icon")
|
|
|
|
target_include_directories(yuzu-cmd PRIVATE ${RESOURCES_DIR})
|
|
|
|
|
2020-12-25 00:22:07 +01:00
|
|
|
target_include_directories(yuzu-cmd PRIVATE ../../externals/Vulkan-Headers/include)
|
|
|
|
|
2021-07-16 03:02:00 +02:00
|
|
|
if (YUZU_USE_EXTERNAL_SDL2)
|
|
|
|
target_compile_definitions(yuzu-cmd PRIVATE -DYUZU_USE_EXTERNAL_SDL2)
|
|
|
|
target_include_directories(yuzu-cmd PRIVATE ${PROJECT_BINARY_DIR}/externals/SDL/include)
|
|
|
|
endif()
|
|
|
|
|
2016-10-10 07:58:05 +02:00
|
|
|
if(UNIX AND NOT APPLE)
|
2018-01-12 03:21:20 +01:00
|
|
|
install(TARGETS yuzu-cmd RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
|
2015-08-30 08:37:42 +02:00
|
|
|
endif()
|
2016-03-01 18:24:18 +01:00
|
|
|
|
|
|
|
if (MSVC)
|
2018-01-14 00:49:16 +01:00
|
|
|
include(CopyYuzuSDLDeps)
|
|
|
|
copy_yuzu_SDL_deps(yuzu-cmd)
|
2016-03-01 18:24:18 +01:00
|
|
|
endif()
|