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 ()