cmake_minimum_required(VERSION 3.5) project(obs-websocket) set(CMAKE_PREFIX_PATH "${QTDIR}") set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) include(external/FindLibObs.cmake) find_package(LibObs REQUIRED) find_package(Qt5Core REQUIRED) find_package(Qt5WebSockets REQUIRED) find_package(Qt5Widgets REQUIRED) add_subdirectory(deps/mbedtls EXCLUDE_FROM_ALL) set(ENABLED_PROGRAMS false) set(obs-websocket_SOURCES obs-websocket.cpp WSServer.cpp WSRequestHandler.cpp WSEvents.cpp Config.cpp Utils.cpp forms/settings-dialog.cpp) set(obs-websocket_HEADERS obs-websocket.h WSServer.h WSRequestHandler.h WSEvents.h Config.h Utils.h forms/settings-dialog.h) add_library(obs-websocket MODULE ${obs-websocket_SOURCES} ${obs-websocket_HEADERS}) add_dependencies(obs-websocket mbedcrypto) include_directories( "${LIBOBS_INCLUDE_DIR}/../UI/obs-frontend-api" ${Qt5Core_INCLUDES} ${Qt5WebSockets_INCLUDES} ${Qt5Widgets_INCLUDES} ${mbedcrypto_INCLUDES} "${CMAKE_SOURCE_DIR}/deps/mbedtls/include") target_link_libraries(obs-websocket libobs Qt5::Core Qt5::WebSockets Qt5::Widgets mbedcrypto) if(WIN32) set(OBS_FRONTEND_LIB "OBS_FRONTEND_LIB-NOTFOUND" CACHE FILEPATH "OBS frontend library") if(OBS_FRONTEND_LIB EQUAL "OBS_FRONTEND_LIB-NOTFOUND") message(FATAL_ERROR "Could not find OBS Frontend API\'s library !") endif() target_link_libraries(obs-websocket "${OBS_FRONTEND_LIB}") endif() if(UNIX) target_compile_options(mbedcrypto PRIVATE -fPIC) target_link_libraries(obs-websocket obs-frontend-api) endif() install_external_plugin_with_data(obs-websocket data)