SceneSwitcher/plugins/video/CMakeLists.txt
WarmUpTill 8e7955984e Update cmake
Based on obs-plugintemplate@68e9fcd
2024-02-17 10:03:04 +01:00

66 lines
2.1 KiB
CMake

cmake_minimum_required(VERSION 3.14)
project(advanced-scene-switcher-opencv)
# --- Check OpenCV requirements ---
get_target_property(ADVSS_SOURCE_DIR advanced-scene-switcher-lib SOURCE_DIR)
find_package(OpenCV)
if(NOT OpenCV_FOUND)
message(
WARNING
"OpenCV not found!\n" "Video condition will be disabled!\n\n"
"OpenCV sources are available under: ${ADVSS_SOURCE_DIR}/deps/opencv")
return()
endif()
# --- Check optional OCR dependencies ---
find_package(Leptonica)
find_package(Tesseract)
# --- End of section ---
add_library(${PROJECT_NAME} MODULE)
if(Leptonica_FOUND AND Tesseract_FOUND)
target_compile_definitions(${PROJECT_NAME} PRIVATE OCR_SUPPORT)
target_link_libraries(${PROJECT_NAME} PRIVATE Tesseract::libtesseract
${Leptonica_LIBRARIES})
target_include_directories(${PROJECT_NAME} PRIVATE ${Tesseract_INCLUDE_DIRS}
${Leptonica_INCLUDE_DIRS})
if(OS_WINDOWS)
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/ignore:4099")
endif()
else()
message(
WARNING "OCR capabilities of video condition disabled!\n"
"Leptonica or Tesseract dependencies were not found!\n\n"
"Sources are available under: ${ADVSS_SOURCE_DIR}/deps/leptonica")
endif()
target_sources(
${PROJECT_NAME}
PRIVATE area-selection.cpp
area-selection.hpp
macro-condition-video.cpp
macro-condition-video.hpp
opencv-helpers.cpp
opencv-helpers.hpp
paramerter-wrappers.cpp
paramerter-wrappers.hpp
preview-dialog.cpp
preview-dialog.hpp)
setup_advss_plugin(${PROJECT_NAME})
set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
target_include_directories(${PROJECT_NAME} PRIVATE ${OpenCV_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} PRIVATE ${OpenCV_LIBRARIES})
install_advss_plugin(${PROJECT_NAME})
if(NOT OS_LINUX)
install_advss_plugin_dependency(TARGET ${PROJECT_NAME} DEPENDENCIES
${OpenCV_LIBS})
endif()