cmake_minimum_required(VERSION 3.28)

project(previewsnectepro VERSION 2.11.5 LANGUAGES C CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(DEPS "${CMAKE_CURRENT_SOURCE_DIR}/../deps")
list(APPEND CMAKE_PREFIX_PATH "${DEPS}/qt6")
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets)

add_library(${PROJECT_NAME} MODULE
  src/plugin-main.cpp
  src/dock.cpp
  src/dock.hpp
  src/card.cpp
  src/card.hpp
  src/thumb.cpp
  src/thumb.hpp
  src/sceneutil.cpp
  src/sceneutil.hpp
  src/keepengine.cpp
  src/translations.cpp
  src/translations.hpp
  src/translations_en.cpp
  src/keepengine.hpp
  src/airstrip.hpp
  res/icons.qrc
)

target_include_directories(${PROJECT_NAME} PRIVATE "${DEPS}/obs-src/libobs" "${DEPS}/obs-src/frontend/api")
target_link_libraries(${PROJECT_NAME} PRIVATE
  "${DEPS}/lib/obs.lib" "${DEPS}/lib/obs-frontend-api.lib"
  Qt6::Core Qt6::Gui Qt6::Widgets)
target_compile_definitions(${PROJECT_NAME} PRIVATE
  PLUGIN_NAME="${PROJECT_NAME}" PLUGIN_VERSION="${PROJECT_VERSION}" NOMINMAX WIN32_LEAN_AND_MEAN _CRT_SECURE_NO_WARNINGS)
target_compile_options(${PROJECT_NAME} PRIVATE /W3 /utf-8 /permissive- /Zc:__cplusplus /Zc:preprocessor /MP)
set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
