1
0
Files
xplayer/CMakeLists.txt
2024-02-04 13:23:09 +08:00

54 lines
1.5 KiB
CMake

cmake_minimum_required(VERSION 3.15)
set(CMAKE_BUILD_TYPE Release)
include(CMakeDependentOption)
cmake_dependent_option(USE_D3D11 "use d3d11" OFF "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)
file(GLOB_RECURSE MAIN_SRC
"${CMAKE_SOURCE_DIR}/src/*.cpp"
"${CMAKE_SOURCE_DIR}/imgui/*.cpp"
)
add_executable(${PROJECT_NAME} ${MAIN_SRC})
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17)
target_include_directories(${PROJECT_NAME} PRIVATE imgui)
target_compile_definitions(${PROJECT_NAME} PRIVATE ${RENDER_DRIVER})
find_package(PkgConfig REQUIRED)
pkg_search_module(MPV REQUIRED mpv)
target_include_directories(${PROJECT_NAME} PRIVATE ${MPV_INCLUDE_DIRS})
if (USE_D3D11)
list(APPEND MPV_LINK_LIBRARIES d3d11 d3dcompiler)
endif ()
if (NINTENDO_SWITCH)
target_link_libraries(${PROJECT_NAME}
PRIVATE
glfw3 glapi drm_nouveau nx m
${MPV_LIBRARIES}
)
nx_generate_nacp(${PROJECT_NAME}.nacp NAME ${PROJECT_NAME} AUTHOR dragonflylee VERSION 1.0)
nx_create_nro(${PROJECT_NAME} ICON ${CMAKE_SOURCE_DIR}/icon.jpg NACP ${PROJECT_NAME}.nacp)
else ()
find_package(glfw3 REQUIRED)
if (MINGW)
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")
endif ()
target_link_libraries(${PROJECT_NAME} PRIVATE glfw ${MPV_LINK_LIBRARIES})
endif ()