54 lines
1.4 KiB
CMake
54 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.15)
|
|
|
|
set(CMAKE_BUILD_TYPE Release)
|
|
|
|
include(CMakeDependentOption)
|
|
cmake_dependent_option(USE_D3D11 "use d3d11" ON "WIN32" OFF)
|
|
|
|
set(RENDER_DRIVER USE_OPENGL)
|
|
if (USE_D3D11)
|
|
set(RENDER_DRIVER USE_D3D11)
|
|
message(STATUS "Use D3D11")
|
|
else ()
|
|
message(STATUS "Use OpenGL")
|
|
endif ()
|
|
|
|
if (MPV_SW_RENDER)
|
|
list(APPEND RENDER_DRIVER MPV_SW_RENDER)
|
|
endif ()
|
|
|
|
project(xplayer)
|
|
set(MAIN_SRC "main.cpp")
|
|
|
|
add_executable(xplayer ${MAIN_SRC})
|
|
set_target_properties(xplayer PROPERTIES CXX_STANDARD 17)
|
|
target_include_directories(xplayer PRIVATE ${CMAKE_SOURCE_DIR})
|
|
target_compile_definitions(xplayer PRIVATE ${RENDER_DRIVER})
|
|
|
|
find_package(PkgConfig REQUIRED)
|
|
pkg_search_module(MPV REQUIRED mpv)
|
|
target_include_directories(xplayer PRIVATE ${MPV_INCLUDE_DIRS})
|
|
|
|
if (USE_D3D11)
|
|
list(APPEND MPV_LINK_LIBRARIES d3d11)
|
|
else ()
|
|
target_sources(xplayer PRIVATE "glad/glad.c")
|
|
endif ()
|
|
|
|
if (NINTENDO_SWITCH)
|
|
target_link_libraries(xplayer
|
|
PRIVATE
|
|
glfw3 glapi drm_nouveau nx m
|
|
${MPV_LIBRARIES}
|
|
)
|
|
nx_generate_nacp(xplayer.nacp NAME "xplayer demo" AUTHOR dragonflylee VERSION 1.0)
|
|
nx_create_nro(xplayer ICON ${CMAKE_SOURCE_DIR}/icon.jpg NACP xplayer.nacp)
|
|
else ()
|
|
find_package(glfw3 REQUIRED)
|
|
if (MINGW)
|
|
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
|
|
endif ()
|
|
target_link_libraries(xplayer PRIVATE glfw3 ${MPV_LINK_LIBRARIES})
|
|
endif ()
|
|
|