Commit ac2409c0 authored by jeremad's avatar jeremad Committed by jeremad

chore(windows): use VCPKG instead of previous internal deps

parent 6afc6561
...@@ -157,6 +157,10 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON) ...@@ -157,6 +157,10 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# Platform dependent names for lib and output directories # Platform dependent names for lib and output directories
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
if(WINDOWS) if(WINDOWS)
set(VCPKG_PATH "${VCPKG_ROOT}\\installed")
include_directories("${VCPKG_PATH}\\${VCPKG_TARGET_TRIPLET}\\include")
list(INSERT CMAKE_MODULE_PATH 0 "${VCPKG_ROOT}/ports/openexr" "${VCPKG_ROOT}/ports/opencv")
set(VS_LIB_CUDA libvideostitch_cuda) set(VS_LIB_CUDA libvideostitch_cuda)
set(VS_LIB_OPENCL libvideostitch_opencl) set(VS_LIB_OPENCL libvideostitch_opencl)
set(VS_DISCOVERY libvideostitch-gpudiscovery) set(VS_DISCOVERY libvideostitch-gpudiscovery)
...@@ -213,10 +217,6 @@ endif(NOT CMAKE_EXTERNAL_DEPS) ...@@ -213,10 +217,6 @@ endif(NOT CMAKE_EXTERNAL_DEPS)
set(CMAKE_EXTERNAL_LIB "${CMAKE_EXTERNAL_DEPS}/lib") set(CMAKE_EXTERNAL_LIB "${CMAKE_EXTERNAL_DEPS}/lib")
set(CMAKE_EXTERNAL_INCLUDE "${CMAKE_EXTERNAL_DEPS}/include") set(CMAKE_EXTERNAL_INCLUDE "${CMAKE_EXTERNAL_DEPS}/include")
if(NOT EXISTS ${CMAKE_EXTERNAL_DEPS} AND WINDOWS)
message(FATAL_ERROR "external_deps folder not found")
endif()
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# Set binary directory structure manually # Set binary directory structure manually
# to get bin/Debug/CorePlugins/libav.dylib instead of bin/CorePlugins/Debug/libav.dylib # to get bin/Debug/CorePlugins/libav.dylib instead of bin/CorePlugins/Debug/libav.dylib
......
...@@ -103,8 +103,7 @@ endforeach(OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES) ...@@ -103,8 +103,7 @@ endforeach(OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES)
option(DISABLE_RTMP "Create RTMP I/O plugin" OFF) option(DISABLE_RTMP "Create RTMP I/O plugin" OFF)
option(DISABLE_PORTAUDIO "Create Portaudio I/O plugin" ${CMAKE_CROSSCOMPILING}) option(DISABLE_PORTAUDIO "Create Portaudio I/O plugin" ${CMAKE_CROSSCOMPILING})
add_subdirectory(src/rtmp) #add_subdirectory(src/rtmp)
if(LINUX OR ANDROID) if(LINUX OR ANDROID)
add_subdirectory(src/v4l2) add_subdirectory(src/v4l2)
endif(LINUX OR ANDROID) endif(LINUX OR ANDROID)
...@@ -114,7 +113,8 @@ if(LINUX OR WINDOWS) ...@@ -114,7 +113,8 @@ if(LINUX OR WINDOWS)
endif(LINUX OR WINDOWS) endif(LINUX OR WINDOWS)
if(WINDOWS) if(WINDOWS)
add_subdirectory(src/aja) find_library(libmfxhw64 libmfx HINTS "${INTEL_MEDIA_SDK_PATH}\\lib\\x64" REQUIRED)
#add_subdirectory(src/aja)
add_subdirectory(src/decklink) add_subdirectory(src/decklink)
add_subdirectory(src/magewell) add_subdirectory(src/magewell)
add_subdirectory(src/magewellpro) add_subdirectory(src/magewellpro)
......
...@@ -47,7 +47,7 @@ function(setup_av_plugin PLUGIN_NAME BACKEND_NAME USE_CUDA) ...@@ -47,7 +47,7 @@ function(setup_av_plugin PLUGIN_NAME BACKEND_NAME USE_CUDA)
target_include_directories(${PLUGIN_NAME} PRIVATE include) target_include_directories(${PLUGIN_NAME} PRIVATE include)
target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include) target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include)
target_include_directories(${PLUGIN_NAME} PRIVATE ../common/format/include) target_include_directories(${PLUGIN_NAME} PRIVATE ../common/format/include)
target_include_directories(${PLUGIN_NAME} PRIVATE ${CMAKE_EXTERNAL_DEPS}/include/Intel_Media_SDK) target_include_directories(${PLUGIN_NAME} PRIVATE "${INTEL_MEDIA_SDK_PATH}\\include")
if(USE_CUDA) if(USE_CUDA)
target_include_directories(${PLUGIN_NAME} PRIVATE ${CUDA_TOOLKIT_TARGET_DIR}/include) target_include_directories(${PLUGIN_NAME} PRIVATE ${CUDA_TOOLKIT_TARGET_DIR}/include)
...@@ -58,15 +58,13 @@ function(setup_av_plugin PLUGIN_NAME BACKEND_NAME USE_CUDA) ...@@ -58,15 +58,13 @@ function(setup_av_plugin PLUGIN_NAME BACKEND_NAME USE_CUDA)
set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14) set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14)
set(FFMPEG_INCLUDE_PATH ${CMAKE_EXTERNAL_DEPS}/include/ffmpeg)
if(MACPORTS) if(MACPORTS)
set(FFMPEG_INCLUDE_PATH /opt/local/include) set(FFMPEG_INCLUDE_PATH /opt/local/include)
target_include_directories(${PLUGIN_NAME} SYSTEM PRIVATE ${FFMPEG_INCLUDE_PATH})
else() else()
set(FFMPEG_INCLUDE_PATH /usr/local/include) set(FFMPEG_INCLUDE_PATH /usr/local/include)
endif() endif()
target_include_directories(${PLUGIN_NAME} SYSTEM PRIVATE ${FFMPEG_INCLUDE_PATH})
if(LINUX OR APPLE OR ANDROID) if(LINUX OR APPLE OR ANDROID)
# VSA-5342: we're using functionality that has been deprecated in ffmpeg 3 # VSA-5342: we're using functionality that has been deprecated in ffmpeg 3
target_compile_options(${PLUGIN_NAME} PRIVATE -Wno-deprecated-declarations) target_compile_options(${PLUGIN_NAME} PRIVATE -Wno-deprecated-declarations)
......
...@@ -33,9 +33,7 @@ function(setup_format BACKEND_NAME USE_CUDA) ...@@ -33,9 +33,7 @@ function(setup_format BACKEND_NAME USE_CUDA)
include_lib_vs_headers(${LIST_NAME}) include_lib_vs_headers(${LIST_NAME})
target_include_directories(${LIST_NAME} PRIVATE include) target_include_directories(${LIST_NAME} PRIVATE include)
target_include_directories(${LIST_NAME} PRIVATE ../include) target_include_directories(${LIST_NAME} PRIVATE ../include)
set(FFMPEG_INCLUDE_PATH ${CMAKE_EXTERNAL_DEPS}/include/ffmpeg)
target_include_directories(${LIST_NAME} PRIVATE ${FFMPEG_INCLUDE_PATH})
if(LINUX OR APPLE) if(LINUX OR APPLE)
# VSA-5342: we're using functionality that has been deprecated in ffmpeg 3 # VSA-5342: we're using functionality that has been deprecated in ffmpeg 3
target_compile_options(${LIST_NAME} PRIVATE -Wno-deprecated-declarations) target_compile_options(${LIST_NAME} PRIVATE -Wno-deprecated-declarations)
...@@ -52,10 +50,9 @@ function(setup_format BACKEND_NAME USE_CUDA) ...@@ -52,10 +50,9 @@ function(setup_format BACKEND_NAME USE_CUDA)
endif() endif()
if(WINDOWS) if(WINDOWS)
set(FFMPEG_LIB_PATH ${CMAKE_EXTERNAL_DEPS}/lib/ffmpeg) find_library(FFMPEG_avcodec NAMES avcodec REQUIRED)
find_library(FFMPEG_avcodec NAMES avcodec PATHS ${FFMPEG_LIB_PATH} NO_DEFAULT_PATH) find_library(FFMPEG_avformat NAMES avformat REQUIRED)
find_library(FFMPEG_avformat NAMES avformat PATHS ${FFMPEG_LIB_PATH} NO_DEFAULT_PATH) find_library(FFMPEG_avutil NAMES avutil REQUIRED)
find_library(FFMPEG_avutil NAMES avutil PATHS ${FFMPEG_LIB_PATH} NO_DEFAULT_PATH)
endif(WINDOWS) endif(WINDOWS)
if(APPLE) if(APPLE)
......
...@@ -7,7 +7,7 @@ set(PLUGIN_NAME decklink) ...@@ -7,7 +7,7 @@ set(PLUGIN_NAME decklink)
add_custom_command( add_custom_command(
OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/include/DeckLinkAPI_h.h" "${CMAKE_CURRENT_SOURCE_DIR}/DeckLinkAPI_i.c" OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/include/DeckLinkAPI_h.h" "${CMAKE_CURRENT_SOURCE_DIR}/DeckLinkAPI_i.c"
COMMAND midl.exe /D _DEBUG /W1 /nologo /char signed /env x64 /iid ${CMAKE_CURRENT_SOURCE_DIR}/DeckLinkAPI_i.c /h "${CMAKE_CURRENT_SOURCE_DIR}/include/DeckLinkAPI_h.h" /tlb "${VS_VAHANA_PLUGIN_DIR}/decklink.tlb" "${CMAKE_EXTERNAL_DEPS}/include/decklink/DeckLinkAPI.idl" COMMAND midl.exe /D _DEBUG /W1 /nologo /char signed /env x64 /iid ${CMAKE_CURRENT_SOURCE_DIR}/DeckLinkAPI_i.c /h "${DECKLINK_PATH}/DeckLinkAPI_h.h" /tlb "${VS_VAHANA_PLUGIN_DIR}/decklink.tlb" "${DECKLINK_PATH}\\DeckLinkAPI.idl"
) )
set(SOURCE_FILES set(SOURCE_FILES
......
...@@ -37,8 +37,7 @@ elseif(APPLE) ...@@ -37,8 +37,7 @@ elseif(APPLE)
find_library(JPEG NAMES jpeg PATHS /usr/local/lib) find_library(JPEG NAMES jpeg PATHS /usr/local/lib)
endif() endif()
else() else()
find_library(TURBO_JPEG NAMES turbojpeg turbojpeg.0 PATHS "${CMAKE_EXTERNAL_DEPS}/lib/libjpeg-turbo" NO_DEFAULT_PATH) find_package(JPEG)
find_library(JPEG NAMES jpeg jpeg.62 PATHS "${CMAKE_EXTERNAL_DEPS}/lib/libjpeg-turbo" NO_DEFAULT_PATH)
endif() endif()
if(APPLE) if(APPLE)
...@@ -47,13 +46,11 @@ if(APPLE) ...@@ -47,13 +46,11 @@ if(APPLE)
else() else()
target_include_directories(${PLUGIN_NAME} SYSTEM PRIVATE /usr/local/include) target_include_directories(${PLUGIN_NAME} SYSTEM PRIVATE /usr/local/include)
endif() endif()
elseif(WINDOWS)
target_include_directories(${PLUGIN_NAME} SYSTEM PRIVATE "${CMAKE_EXTERNAL_DEPS}/include/libjpeg-turbo")
endif() endif()
if(APPLE OR LINUX) if(APPLE OR LINUX)
target_link_libraries(${PLUGIN_NAME} PRIVATE ${JPEG} ${VS_DISCOVERY}) target_link_libraries(${PLUGIN_NAME} PRIVATE ${JPEG} ${VS_DISCOVERY})
else() else()
target_link_libraries(${PLUGIN_NAME} PRIVATE ${TURBO_JPEG} ${JPEG} ${VS_DISCOVERY}) target_link_libraries(${PLUGIN_NAME} PRIVATE ${JPEG_LIBRARIES} ${VS_DISCOVERY})
endif() endif()
link_target_to_libvideostitch(${PLUGIN_NAME}) link_target_to_libvideostitch(${PLUGIN_NAME})
...@@ -23,13 +23,12 @@ include_lib_vs_headers(${PLUGIN_NAME}) ...@@ -23,13 +23,12 @@ include_lib_vs_headers(${PLUGIN_NAME})
include_discovery_vs_headers(${PLUGIN_NAME}) include_discovery_vs_headers(${PLUGIN_NAME})
target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include) target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include)
target_include_directories(${PLUGIN_NAME} PRIVATE "${CMAKE_EXTERNAL_DEPS}/include/magewell") target_include_directories(${PLUGIN_NAME} PRIVATE "${MAGEWELL_PATH}\\SDKv2\\Include")
set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14) set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14)
find_debug_and_optimized_library(MAGEWELL_STREAM2 "magewell" "LibXIStream2d" "magewell" "LibXIStream2") find_library(MAGEWELL_STREAM2 "LibXIStream2" HINTS "${MAGEWELL_PATH}\\SDKv2\\Lib\\x64\\Release")
find_debug_and_optimized_library(MAGEWELL_PROPERTY "magewell" "LibXIPropertyd" "magewell" "LibXIProperty") find_library(MAGEWELL_PROPERTY "LibXIProperty" HINTS "${MAGEWELL_PATH}\\SDKv2\\Lib\\x64\\Release")
target_link_libraries(${PLUGIN_NAME} PRIVATE ${VS_DISCOVERY} ${MAGEWELL_STREAM2} ${MAGEWELL_PROPERTY}) target_link_libraries(${PLUGIN_NAME} PRIVATE ${VS_DISCOVERY} ${MAGEWELL_STREAM2} ${MAGEWELL_PROPERTY})
link_target_to_libvideostitch(${PLUGIN_NAME}) link_target_to_libvideostitch(${PLUGIN_NAME})
target_compile_definitions(${PLUGIN_NAME} PRIVATE _UNICODE UNICODE) target_compile_definitions(${PLUGIN_NAME} PRIVATE _UNICODE UNICODE)
\ No newline at end of file
...@@ -22,12 +22,11 @@ include_lib_vs_headers(${PLUGIN_NAME}) ...@@ -22,12 +22,11 @@ include_lib_vs_headers(${PLUGIN_NAME})
include_discovery_vs_headers(${PLUGIN_NAME}) include_discovery_vs_headers(${PLUGIN_NAME})
target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include) target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include)
target_include_directories(${PLUGIN_NAME} PRIVATE "${CMAKE_EXTERNAL_DEPS}/include/magewellPro") target_include_directories(${PLUGIN_NAME} PRIVATE "${MAGEWELL_PATH}\\SDKv3\\Include")
set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14) set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14)
find_debug_and_optimized_library(MAGEWELL_DEVICE "magewellPro" "LibMWCaptured" "magewellPro" "LibMWCapture") find_library(MAGEWELL_DEVICE "LibMWCapture" HINTS "${MAGEWELL_PATH}\\SDKv3\\Lib\\x64")
target_link_libraries(${PLUGIN_NAME} PRIVATE ${MAGEWELL_DEVICE} ${VS_DISCOVERY}) target_link_libraries(${PLUGIN_NAME} PRIVATE ${MAGEWELL_DEVICE} ${VS_DISCOVERY})
link_target_to_libvideostitch(${PLUGIN_NAME}) link_target_to_libvideostitch(${PLUGIN_NAME})
target_compile_definitions(${PLUGIN_NAME} PRIVATE _UNICODE UNICODE) target_compile_definitions(${PLUGIN_NAME} PRIVATE _UNICODE UNICODE)
\ No newline at end of file
...@@ -25,9 +25,7 @@ target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include) ...@@ -25,9 +25,7 @@ target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include)
if(APPLE) if(APPLE)
target_include_directories(${PLUGIN_NAME} PRIVATE "/opt/local/include") target_include_directories(${PLUGIN_NAME} PRIVATE "/opt/local/include")
else(APPLE) endif()
target_include_directories(${PLUGIN_NAME} PRIVATE "${CMAKE_EXTERNAL_DEPS}/include/libpng")
endif(APPLE)
set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14) set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14)
target_link_libraries(${PLUGIN_NAME} PRIVATE ${PNG_LIBRARY} ${VS_DISCOVERY}) target_link_libraries(${PLUGIN_NAME} PRIVATE ${PNG_LIBRARY} ${VS_DISCOVERY})
......
...@@ -25,14 +25,9 @@ include_discovery_vs_headers(${PLUGIN_NAME}) ...@@ -25,14 +25,9 @@ include_discovery_vs_headers(${PLUGIN_NAME})
target_include_directories(${PLUGIN_NAME} PRIVATE include) target_include_directories(${PLUGIN_NAME} PRIVATE include)
target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include) target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include)
target_include_directories(${PLUGIN_NAME} PRIVATE ${CMAKE_EXTERNAL_DEPS}/include/portaudio)
set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14) set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14)
if(WINDOWS) find_library(PORTAUDIO NAMES "portaudio" REQUIRED)
find_library(PORTAUDIO NAMES "portaudio_x64" PATHS ${CMAKE_EXTERNAL_DEPS}/lib/portaudio REQUIRED)
else()
find_library(PORTAUDIO NAMES "portaudio" REQUIRED)
endif()
# FIXME: portAudioReader.cpp # FIXME: portAudioReader.cpp
if(COMPILER_GCC) if(COMPILER_GCC)
...@@ -40,5 +35,4 @@ if(COMPILER_GCC) ...@@ -40,5 +35,4 @@ if(COMPILER_GCC)
endif() endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE ${PORTAUDIO} ${VS_DISCOVERY}) target_link_libraries(${PLUGIN_NAME} PRIVATE ${PORTAUDIO} ${VS_DISCOVERY})
link_target_to_libvideostitch(${PLUGIN_NAME}) link_target_to_libvideostitch(${PLUGIN_NAME})
\ No newline at end of file
...@@ -220,15 +220,15 @@ endif(LINUX) ...@@ -220,15 +220,15 @@ endif(LINUX)
target_include_directories(${PLUGIN_NAME} PRIVATE include) target_include_directories(${PLUGIN_NAME} PRIVATE include)
target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include) target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include)
target_include_directories(${PLUGIN_NAME} PRIVATE "${INTEL_MEDIA_SDK_PATH}\\include")
if(USE_AVFORMAT) if(USE_AVFORMAT)
target_include_directories(${PLUGIN_NAME} PRIVATE ../common/format/include) target_include_directories(${PLUGIN_NAME} PRIVATE ../common/format/include)
endif(USE_AVFORMAT) endif(USE_AVFORMAT)
set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14) set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14)
if(WINDOWS) if(WINDOWS)
find_library(librtmp librtmp HINTS "${CMAKE_EXTERNAL_LIB}/librtmp" REQUIRED NO_DEFAULT_PATH) find_library(librtmp librtmp REQUIRED)
find_library(libx264 libx264-148 HINTS "${CMAKE_EXTERNAL_LIB}/x264" REQUIRED NO_DEFAULT_PATH) find_package(mp3lame CONFIG REQUIRED)
find_library(libmp3lame libmp3lame-0 HINTS "${CMAKE_EXTERNAL_LIB}/lame" REQUIRED NO_DEFAULT_PATH)
find_library(libmpghip libmpghip-static HINTS "${CMAKE_EXTERNAL_LIB}/lame" REQUIRED NO_DEFAULT_PATH) find_library(libmpghip libmpghip-static HINTS "${CMAKE_EXTERNAL_LIB}/lame" REQUIRED NO_DEFAULT_PATH)
find_library(libfaac libfaac HINTS "${CMAKE_EXTERNAL_LIB}/faac" REQUIRED NO_DEFAULT_PATH) find_library(libfaac libfaac HINTS "${CMAKE_EXTERNAL_LIB}/faac" REQUIRED NO_DEFAULT_PATH)
find_library(libmfxhw64 libmfx HINTS "${CMAKE_EXTERNAL_LIB}/Intel_Media_SDK" REQUIRED NO_DEFAULT_PATH) find_library(libmfxhw64 libmfx HINTS "${CMAKE_EXTERNAL_LIB}/Intel_Media_SDK" REQUIRED NO_DEFAULT_PATH)
...@@ -240,7 +240,7 @@ if(WINDOWS) ...@@ -240,7 +240,7 @@ if(WINDOWS)
d3d11 d3d11
Ws2_32 Ws2_32
Winmm) Winmm)
target_link_libraries(${PLUGIN_NAME} PRIVATE ${librtmp} ${libx264} ${libmp3lame} ${libfaac} ${libmfxhw64} ${libvfaad} ${libmpghip} ${DirectX_LIB}) target_link_libraries(${PLUGIN_NAME} PRIVATE ${librtmp} ${libx264} mp3lame:mp3lame ${libmfxhw64} ${DirectX_LIB})
set_property(TARGET ${PLUGIN_NAME} APPEND_STRING PROPERTY LINK_FLAGS "/NODEFAULTLIB:libcmt /NODEFAULTLIB:libcmtd") set_property(TARGET ${PLUGIN_NAME} APPEND_STRING PROPERTY LINK_FLAGS "/NODEFAULTLIB:libcmt /NODEFAULTLIB:libcmtd")
endif() endif()
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
extern "C" { extern "C" {
#if defined(_WIN32) #if defined(_WIN32)
#include "x264/x264.h" #include "x264.h"
#include <ws2tcpip.h> #include <ws2tcpip.h>
#else #else
#include <unistd.h> #include <unistd.h>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
extern "C" { extern "C" {
#if defined(_WIN32) #if defined(_WIN32)
#include "x264/x264.h" #include "x264.h"
#else #else
#include <unistd.h> #include <unistd.h>
#include <inttypes.h> #include <inttypes.h>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
extern "C" { extern "C" {
#if defined(_WIN32) #if defined(_WIN32)
#include "x264/x264.h" #include "x264.h"
#else #else
#include <inttypes.h> #include <inttypes.h>
#include <x264.h> #include <x264.h>
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
extern "C" { extern "C" {
#if defined(_WIN32) #if defined(_WIN32)
#include "x264/x264.h" #include "x264.h"
#include <ws2tcpip.h> #include <ws2tcpip.h>
#else #else
#include <unistd.h> #include <unistd.h>
......
...@@ -24,8 +24,7 @@ target_include_directories(${PLUGIN_NAME} PRIVATE include) ...@@ -24,8 +24,7 @@ target_include_directories(${PLUGIN_NAME} PRIVATE include)
target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include) target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include)
if(WINDOWS) if(WINDOWS)
find_library(TIFF NAMES "libtiff" PATHS "${CMAKE_EXTERNAL_DEPS}/lib/libtiff") find_library(TIFF NAMES "tiff")
target_include_directories(${PLUGIN_NAME} PRIVATE "${CMAKE_EXTERNAL_DEPS}/include/libtiff")
elseif(LINUX) elseif(LINUX)
if(CMAKE_CROSSCOMPILING) if(CMAKE_CROSSCOMPILING)
target_include_directories(${PLUGIN_NAME} PRIVATE ${CMAKE_EXTERNAL_DEPS}/include/libtiff) target_include_directories(${PLUGIN_NAME} PRIVATE ${CMAKE_EXTERNAL_DEPS}/include/libtiff)
...@@ -40,5 +39,4 @@ endif() ...@@ -40,5 +39,4 @@ endif()
set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14) set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14)
target_link_libraries(${PLUGIN_NAME} PRIVATE ${TIFF} ${VS_DISCOVERY}) target_link_libraries(${PLUGIN_NAME} PRIVATE ${TIFF} ${VS_DISCOVERY})
link_target_to_libvideostitch(${PLUGIN_NAME}) link_target_to_libvideostitch(${PLUGIN_NAME})
\ No newline at end of file
...@@ -21,12 +21,12 @@ vs_add_IO_library(${PLUGIN_NAME} SHARED ${SOURCE_FILES} ${HEADER_FILES} $<TARGET ...@@ -21,12 +21,12 @@ vs_add_IO_library(${PLUGIN_NAME} SHARED ${SOURCE_FILES} ${HEADER_FILES} $<TARGET
include_lib_vs_headers(${PLUGIN_NAME}) include_lib_vs_headers(${PLUGIN_NAME})
include_discovery_vs_headers(${PLUGIN_NAME}) include_discovery_vs_headers(${PLUGIN_NAME})
target_include_directories(${PLUGIN_NAME} PRIVATE "${CMAKE_EXTERNAL_DEPS}/include/ximea") target_include_directories(${PLUGIN_NAME} PRIVATE ${XIMEA_PATH})
target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include) target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include)
set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14) set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14)
find_library(XIMEA_LIB NAMES "xiapi64" PATHS ${CMAKE_EXTERNAL_DEPS}/lib/Ximea/release/ REQUIRED NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) find_library(XIMEA_LIB NAMES "xiapi64" HINTS "${XIMEA_PATH}\\x64" REQUIRED)
target_link_libraries(${PLUGIN_NAME} PRIVATE ${VS_DISCOVERY} ${XIMEA_LIB}) target_link_libraries(${PLUGIN_NAME} PRIVATE ${VS_DISCOVERY} ${XIMEA_LIB})
link_target_to_libvideostitch(${PLUGIN_NAME}) link_target_to_libvideostitch(${PLUGIN_NAME})
......
...@@ -71,10 +71,9 @@ if(WINDOWS) ...@@ -71,10 +71,9 @@ if(WINDOWS)
set(EXTERNAL_DEPS set(EXTERNAL_DEPS
src/../../external_deps/) src/../../external_deps/)
include_directories(${EXTERNAL_DEPS}/include) include_directories(${EXTERNAL_DEPS}/include)
include_directories(${EXTERNAL_DEPS}/include/OculusSDK) include_directories("${OCULUS_PATH}\\Include")
include_directories(${EXTERNAL_DEPS}/include/openvr) find_library(OVR NAMES "LibOVR" HINTS "${OCULUS_PATH}\\Lib\\Windows\\x64\\Release\\VS2015")
find_library(OVR NAMES "LibOVR" PATHS ${EXTERNAL_DEPS}/lib/OculusSDK NO_DEFAULT_PATH) find_library(OPENVR NAMES "openvr_api")
find_library(OPENVR NAMES "openvr_api" PATHS ${EXTERNAL_DEPS}/lib/openvr NO_DEFAULT_PATH)
add_definitions(-DNOMINMAX) add_definitions(-DNOMINMAX)
add_definitions(-D_USE_MATH_DEFINES) add_definitions(-D_USE_MATH_DEFINES)
add_definitions(-DUNICODE) add_definitions(-DUNICODE)
......
...@@ -20,7 +20,8 @@ endif (NOT CUDA_FOUND) ...@@ -20,7 +20,8 @@ endif (NOT CUDA_FOUND)
# TODO: extract find_library + find_package # TODO: extract find_library + find_package
if (WINDOWS) if (WINDOWS)
find_library(GLEW NAMES glew32s PATHS ${CMAKE_EXTERNAL_DEPS}/lib/GL NO_DEFAULT_PATH) find_library(GLEW "glew32" PATH "${VCPKG_PATH}\\${VCPKG_TARGET_TRIPLET}-static\\lib" NO_DEFAULT_PATH)
include_directories("${VCPKG_PATH}\\${VCPKG_TARGET_TRIPLET}-static\\include")
include_directories(${OPENGL_INCLUDE_DIRS}) include_directories(${OPENGL_INCLUDE_DIRS})
include_directories(${OPENCV_INCLUDE_DIRS}) include_directories(${OPENCV_INCLUDE_DIRS})
find_library(CUDA cuda PATHS "${CUDA_TOOLKIT_ROOT_DIR}/lib/x64" NO_DEFAULT_PATH) find_library(CUDA cuda PATHS "${CUDA_TOOLKIT_ROOT_DIR}/lib/x64" NO_DEFAULT_PATH)
......
if(WINDOWS)
find_debug_and_optimized_library(OpenCV_CORE_LIBS "opencv2/Debug" "opencv_core310d" "opencv2/Release" "opencv_core310")
find_debug_and_optimized_library(OpenCV_CALIB_LIBS "opencv2/Debug" "opencv_calib3d310d" "opencv2/Release" "opencv_calib3d310")
find_debug_and_optimized_library(OpenCV_FEATURES_LIBS "opencv2/Debug" "opencv_features2d310d" "opencv2/Release" "opencv_features2d310")
find_debug_and_optimized_library(OpenCV_IMGCODECS_LIBS "opencv2/Debug" "opencv_imgcodecs310d" "opencv2/Release" "opencv_imgcodecs310")
find_debug_and_optimized_library(OpenCV_IMGPROC_LIBS "opencv2/Debug" "opencv_imgproc310d" "opencv2/Release" "opencv_imgproc310")
find_debug_and_optimized_library(OpenCV_FLANN_LIBS "opencv2/Debug" "opencv_flann310d" "opencv2/Release" "opencv_flann310")
find_debug_and_optimized_library(OpenCV_VIDEO_LIBS "opencv2/Debug" "opencv_video310d" "opencv2/Release" "opencv_video310")
set(OpenCV_LIBRARIES ${OpenCV_CORE_LIBS} ${OpenCV_CALIB_LIBS} ${OpenCV_FEATURES_LIBS} ${OpenCV_IMGPROC_LIBS} ${OpenCV_FLANN_LIBS} ${OpenCV_VIDEO_LIBS})
set(OpenCV_INCLUDE_DIRS ${CMAKE_EXTERNAL_DEPS}/include/opencv2)
endif()
if(LINUX OR ANDROID) if(LINUX OR ANDROID)
if(LINUX) if(LINUX)
......
if(WINDOWS)
return()
endif()
if(APPLE) if(APPLE)
if(MACPORTS) if(MACPORTS)
find_path(OpenEXR_ROOT_DIR include/openexr/half.h HINTS /opt/local) find_path(OpenEXR_ROOT_DIR include/openexr/half.h HINTS /opt/local)
......
...@@ -6,6 +6,6 @@ elseif(LINUX) ...@@ -6,6 +6,6 @@ elseif(LINUX)
elseif(ANDROID) elseif(ANDROID)
find_library(PNG_LIBRARY png PATHS ${CMAKE_EXTERNAL_LIB} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) find_library(PNG_LIBRARY png PATHS ${CMAKE_EXTERNAL_LIB} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
elseif(WINDOWS) elseif(WINDOWS)
find_debug_and_optimized_library(PNG_LIBRARY "libpng/debug" "libpng" "libpng/release" "libpng") find_package(PNG REQUIRED)
endif() endif()
...@@ -27,10 +27,6 @@ if(LINUX OR APPLE) ...@@ -27,10 +27,6 @@ if(LINUX OR APPLE)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
endif(LINUX OR APPLE) endif(LINUX OR APPLE)
if(WINDOWS)
find_package(Kernel32 REQUIRED)
endif(WINDOWS)
set(R8B_SOURCES set(R8B_SOURCES
r8bbase.cpp) r8bbase.cpp)
...@@ -43,8 +39,4 @@ if(LINUX OR APPLE) ...@@ -43,8 +39,4 @@ if(LINUX OR APPLE)
set_target_properties(r8b PROPERTIES POSITION_INDEPENDENT_CODE ON) set_target_properties(r8b PROPERTIES POSITION_INDEPENDENT_CODE ON)
endif(LINUX OR APPLE) endif(LINUX OR APPLE)
if(WINDOWS) set(R8B_LIBRARY r8b PARENT_SCOPE)
target_link_libraries(r8b Kernel32) \ No newline at end of file
endif(WINDOWS)
set(R8B_LIBRARY r8b PARENT_SCOPE)
// Copyright (c) 2012-2017 VideoStitch SAS // Copyright (c) 2012-2017 VideoStitch SAS
// Copyright (c) 2018 stitchEm // Copyright (c) 2018 stitchEm
// VideoStitch BackendLibHelper // VideoStitch BackendLibHelper
#include <cassert>
#include "libgpudiscovery/backendLibHelper.hpp" #include "libgpudiscovery/backendLibHelper.hpp"
#include "backendLibLoader.hpp" #include "backendLibLoader.hpp"
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <lmerr.h> #include <lmerr.h>
#include <PathCch.h> #include <PathCch.h>
#define DELAYIMP_INSECURE_WRITABLE_HOOKS
#include "delayimp.h" #include "delayimp.h"
#include "winerror.h" #include "winerror.h"
......
...@@ -83,6 +83,42 @@ cmake -DGPU_BACKEND_CUDA=ON -DGPU_BACKEND_OPENCL=ON \ ...@@ -83,6 +83,42 @@ cmake -DGPU_BACKEND_CUDA=ON -DGPU_BACKEND_OPENCL=ON \
stitchEm stitchEm
``` ```
## Building on windows
You need visual studio 2017, QT >= 5.9 and CUDA 10
Install [vcpkg](https://github.com/microsoft/vcpkg)
Then installs all of this:
```
./vcpkg install ceres eigen3 ffmpeg[avresample,core,gpl,x264,opencl] gflags glfw3 glog libjpeg-turbo liblzma libpng librtmp libwebp mp3lame opencl opencv3 openexr opengl openssl openvr portaudio protobuf tiff x264 zlib glm
./vcpkg install glew:x64-windows-static
```
* install manually [bison/flex](https://sourceforge.net/projects/winflexbison/files) and put the executables in the PATH
* install manually [Intel SDK 2017](https://software.intel.com/en-us/media-sdk)
* install manually [Magewell SDK](http://www.magewell.com/files/sdk/Magewell_Capture_SDK_3.3.1.1004.zip)
* install manually [Oculus SDK (1.4.0)](https://developer.oculus.com/downloads/package/oculus-sdk-for-windows/1.4.0)
* install manually [Decklink SDK](https://www.blackmagicdesign.com/developer/product/capture-and-playback)
* install manually [XIMEA SDK](https://www.ximea.com/support/documents/4)
clone the repo and create a directory next to it, and configure with cmake:
```
git clone https://github.com/stitchEm/stitchEm.git
mkdir build
cd build
cmake -G "Visual Studio 15 2017 Win64" \
-DCMAKE_TOOLCHAIN_FILE=PATH_TO_YOUR_vcpkg_REPOSITORY\scripts\buildsystems\vcpkg.cmake \
-DQt5_DIR=PATH_TO_QT_5\msvc2017\lib\cmake\Qt5 \
-DGPU_BACKEND_CUDA=ON \
-DGPU_BACKEND_OPENCL=OFF \
-DCUDA_LOCAL_ARCH_ONLY=ON \
-DVCPKG_ROOT="PATH_TO_YOUR_vcpkg_REPOSITORY" \
-DVCPKG_TARGET_TRIPLET="x64-windows" \
-DMAGEWELL_PATH="PATH_TO_MAGEWELL_SDK" \
-DXIMEA_PATH="PATH_TO_XIMEA_API" \
-DDECKLINK_PATH="PATH_TO_DECK_LINK_OVR" \
-DINTEL_MEDIA_SDK_PATH="PATH_TO_INTEL_SDK" \
..\stitchEm\
```
## CMake flags ## CMake flags
### Global options ### Global options
......
...@@ -16,10 +16,8 @@ elseif(APPLE) ...@@ -16,10 +16,8 @@ elseif(APPLE)
target_include_directories(${CMD_NAME} PRIVATE /usr/local/include) target_include_directories(${CMD_NAME} PRIVATE /usr/local/include)
endif() endif()
elseif(WINDOWS) elseif(WINDOWS)
find_library(GLFW glfw3 HINTS "${CMAKE_EXTERNAL_LIB}/glfw" REQUIRED NO_DEFAULT_PATH) find_library(GLFW glfw3dll REQUIRED)
endif() endif()
target_include_directories(${CMD_NAME} PRIVATE "${CMAKE_EXTERNAL_DEPS}/include")
target_link_libraries(${CMD_NAME} PRIVATE ${VS_DISCOVERY} ${GLFW}) target_link_libraries(${CMD_NAME} PRIVATE ${VS_DISCOVERY} ${GLFW})
add_cppcheck(${CMD_NAME} VS) add_cppcheck(${CMD_NAME} VS)
\ No newline at end of file
...@@ -817,4 +817,4 @@ Status ReaderController::setupAudioPreProc(const std::string& name, groupid_t gr ...@@ -817,4 +817,4 @@ Status ReaderController::setupAudioPreProc(const std::string& name, groupid_t gr
} }
} // namespace Core } // namespace Core
} // namespace VideoStitch } // namespace VideoStitch
\ No newline at end of file
...@@ -3,8 +3,5 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) ...@@ -3,8 +3,5 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(HID hid) set(HID hid)
find_debug_and_optimized_library(CERES_LIBS "ceres" "ceres-debug" "ceres" "ceres") find_library(CERES_LIBS "ceres")
find_library(GLOG NAMES "libglog" PATHS "${CMAKE_EXTERNAL_LIB}/glog") find_library(GLOG NAMES "glog")
\ No newline at end of file
set(EIGEN3_INCLUDE_DIRS ${CMAKE_EXTERNAL_DEPS}/lib/eigen)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment