cmake_minimum_required(VERSION 3.16) project(stremio VERSION "5.0.7") set(CMAKE_CXX_STANDARD 17) set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") # Locate MPV if(CMAKE_SIZEOF_VOID_P EQUAL 8) # 64-bit architecture set(MPV_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/libmpv/x86_64/include") set(MPV_LIBRARY "${CMAKE_CURRENT_SOURCE_DIR}/deps/libmpv/x86_64/mpv.lib") set(MPV_DLL "${CMAKE_CURRENT_SOURCE_DIR}/deps/libmpv/x86_64/libmpv-2.dll") else() # 32-bit architecture set(MPV_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/libmpv/i686/include") set(MPV_LIBRARY "${CMAKE_CURRENT_SOURCE_DIR}/deps/libmpv/i686/mpv.lib") set(MPV_DLL "${CMAKE_CURRENT_SOURCE_DIR}/deps/libmpv/i686/libmpv-2.dll") endif() include_directories(${MPV_INCLUDE_DIR}) find_package(OpenSSL REQUIRED) find_package(CURL REQUIRED) find_package(nlohmann_json CONFIG REQUIRED) find_package(unofficial-webview2 CONFIG REQUIRED) set(SOURCES src/main.cpp stremio.rc src/resource.h ) add_executable(${PROJECT_NAME} WIN32 ${SOURCES}) target_link_libraries(${PROJECT_NAME} PRIVATE user32.lib gdi32.lib ole32.lib oleaut32.lib shell32.lib advapi32.lib nlohmann_json::nlohmann_json unofficial::webview2::webview2 OpenSSL::SSL OpenSSL::Crypto CURL::libcurl ${MPV_LIBRARY} ) target_compile_definitions(${PROJECT_NAME} PRIVATE $<$:DEBUG_BUILD>) # Copy MPV DLL add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${MPV_DLL}" $ )