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)
# Platform dependent names for lib and output directories
# ----------------------------------------------------------------------------
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_OPENCL libvideostitch_opencl)
set(VS_DISCOVERY libvideostitch-gpudiscovery)
......@@ -213,10 +217,6 @@ endif(NOT CMAKE_EXTERNAL_DEPS)
set(CMAKE_EXTERNAL_LIB "${CMAKE_EXTERNAL_DEPS}/lib")
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
# to get bin/Debug/CorePlugins/libav.dylib instead of bin/CorePlugins/Debug/libav.dylib
......
......@@ -103,8 +103,7 @@ endforeach(OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES)
option(DISABLE_RTMP "Create RTMP I/O plugin" OFF)
option(DISABLE_PORTAUDIO "Create Portaudio I/O plugin" ${CMAKE_CROSSCOMPILING})
add_subdirectory(src/rtmp)
#add_subdirectory(src/rtmp)
if(LINUX OR ANDROID)
add_subdirectory(src/v4l2)
endif(LINUX OR ANDROID)
......@@ -114,7 +113,8 @@ if(LINUX OR WINDOWS)
endif(LINUX OR 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/magewell)
add_subdirectory(src/magewellpro)
......
......@@ -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 ../common/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)
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)
set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14)
set(FFMPEG_INCLUDE_PATH ${CMAKE_EXTERNAL_DEPS}/include/ffmpeg)
if(MACPORTS)
set(FFMPEG_INCLUDE_PATH /opt/local/include)
target_include_directories(${PLUGIN_NAME} SYSTEM PRIVATE ${FFMPEG_INCLUDE_PATH})
else()
set(FFMPEG_INCLUDE_PATH /usr/local/include)
endif()
target_include_directories(${PLUGIN_NAME} SYSTEM PRIVATE ${FFMPEG_INCLUDE_PATH})
if(LINUX OR APPLE OR ANDROID)
# VSA-5342: we're using functionality that has been deprecated in ffmpeg 3
target_compile_options(${PLUGIN_NAME} PRIVATE -Wno-deprecated-declarations)
......
......@@ -33,9 +33,7 @@ function(setup_format BACKEND_NAME USE_CUDA)
include_lib_vs_headers(${LIST_NAME})
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)
# VSA-5342: we're using functionality that has been deprecated in ffmpeg 3
target_compile_options(${LIST_NAME} PRIVATE -Wno-deprecated-declarations)
......@@ -52,10 +50,9 @@ function(setup_format BACKEND_NAME USE_CUDA)
endif()
if(WINDOWS)
set(FFMPEG_LIB_PATH ${CMAKE_EXTERNAL_DEPS}/lib/ffmpeg)
find_library(FFMPEG_avcodec NAMES avcodec PATHS ${FFMPEG_LIB_PATH} NO_DEFAULT_PATH)
find_library(FFMPEG_avformat NAMES avformat PATHS ${FFMPEG_LIB_PATH} NO_DEFAULT_PATH)
find_library(FFMPEG_avutil NAMES avutil PATHS ${FFMPEG_LIB_PATH} NO_DEFAULT_PATH)
find_library(FFMPEG_avcodec NAMES avcodec REQUIRED)
find_library(FFMPEG_avformat NAMES avformat REQUIRED)
find_library(FFMPEG_avutil NAMES avutil REQUIRED)
endif(WINDOWS)
if(APPLE)
......
......@@ -7,7 +7,7 @@ set(PLUGIN_NAME decklink)
add_custom_command(
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
......
......@@ -37,8 +37,7 @@ elseif(APPLE)
find_library(JPEG NAMES jpeg PATHS /usr/local/lib)
endif()
else()
find_library(TURBO_JPEG NAMES turbojpeg turbojpeg.0 PATHS "${CMAKE_EXTERNAL_DEPS}/lib/libjpeg-turbo" NO_DEFAULT_PATH)
find_library(JPEG NAMES jpeg jpeg.62 PATHS "${CMAKE_EXTERNAL_DEPS}/lib/libjpeg-turbo" NO_DEFAULT_PATH)
find_package(JPEG)
endif()
if(APPLE)
......@@ -47,13 +46,11 @@ if(APPLE)
else()
target_include_directories(${PLUGIN_NAME} SYSTEM PRIVATE /usr/local/include)
endif()
elseif(WINDOWS)
target_include_directories(${PLUGIN_NAME} SYSTEM PRIVATE "${CMAKE_EXTERNAL_DEPS}/include/libjpeg-turbo")
endif()
if(APPLE OR LINUX)
target_link_libraries(${PLUGIN_NAME} PRIVATE ${JPEG} ${VS_DISCOVERY})
else()
target_link_libraries(${PLUGIN_NAME} PRIVATE ${TURBO_JPEG} ${JPEG} ${VS_DISCOVERY})
target_link_libraries(${PLUGIN_NAME} PRIVATE ${JPEG_LIBRARIES} ${VS_DISCOVERY})
endif()
link_target_to_libvideostitch(${PLUGIN_NAME})
......@@ -23,13 +23,12 @@ include_lib_vs_headers(${PLUGIN_NAME})
include_discovery_vs_headers(${PLUGIN_NAME})
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)
find_debug_and_optimized_library(MAGEWELL_STREAM2 "magewell" "LibXIStream2d" "magewell" "LibXIStream2")
find_debug_and_optimized_library(MAGEWELL_PROPERTY "magewell" "LibXIPropertyd" "magewell" "LibXIProperty")
find_library(MAGEWELL_STREAM2 "LibXIStream2" HINTS "${MAGEWELL_PATH}\\SDKv2\\Lib\\x64\\Release")
find_library(MAGEWELL_PROPERTY "LibXIProperty" HINTS "${MAGEWELL_PATH}\\SDKv2\\Lib\\x64\\Release")
target_link_libraries(${PLUGIN_NAME} PRIVATE ${VS_DISCOVERY} ${MAGEWELL_STREAM2} ${MAGEWELL_PROPERTY})
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})
include_discovery_vs_headers(${PLUGIN_NAME})
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)
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})
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)
if(APPLE)
target_include_directories(${PLUGIN_NAME} PRIVATE "/opt/local/include")
else(APPLE)
target_include_directories(${PLUGIN_NAME} PRIVATE "${CMAKE_EXTERNAL_DEPS}/include/libpng")
endif(APPLE)
endif()
set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14)
target_link_libraries(${PLUGIN_NAME} PRIVATE ${PNG_LIBRARY} ${VS_DISCOVERY})
......
......@@ -25,14 +25,9 @@ include_discovery_vs_headers(${PLUGIN_NAME})
target_include_directories(${PLUGIN_NAME} PRIVATE 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)
if(WINDOWS)
find_library(PORTAUDIO NAMES "portaudio_x64" PATHS ${CMAKE_EXTERNAL_DEPS}/lib/portaudio REQUIRED)
else()
find_library(PORTAUDIO NAMES "portaudio" REQUIRED)
endif()
find_library(PORTAUDIO NAMES "portaudio" REQUIRED)
# FIXME: portAudioReader.cpp
if(COMPILER_GCC)
......@@ -40,5 +35,4 @@ if(COMPILER_GCC)
endif()
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)
target_include_directories(${PLUGIN_NAME} PRIVATE include)
target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include)
target_include_directories(${PLUGIN_NAME} PRIVATE "${INTEL_MEDIA_SDK_PATH}\\include")
if(USE_AVFORMAT)
target_include_directories(${PLUGIN_NAME} PRIVATE ../common/format/include)
endif(USE_AVFORMAT)
set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14)
if(WINDOWS)
find_library(librtmp librtmp HINTS "${CMAKE_EXTERNAL_LIB}/librtmp" REQUIRED NO_DEFAULT_PATH)
find_library(libx264 libx264-148 HINTS "${CMAKE_EXTERNAL_LIB}/x264" REQUIRED NO_DEFAULT_PATH)
find_library(libmp3lame libmp3lame-0 HINTS "${CMAKE_EXTERNAL_LIB}/lame" REQUIRED NO_DEFAULT_PATH)
find_library(librtmp librtmp REQUIRED)
find_package(mp3lame CONFIG REQUIRED)
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(libmfxhw64 libmfx HINTS "${CMAKE_EXTERNAL_LIB}/Intel_Media_SDK" REQUIRED NO_DEFAULT_PATH)
......@@ -240,7 +240,7 @@ if(WINDOWS)
d3d11
Ws2_32
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")
endif()
......
......@@ -11,7 +11,7 @@
extern "C" {
#if defined(_WIN32)
#include "x264/x264.h"
#include "x264.h"
#include <ws2tcpip.h>
#else
#include <unistd.h>
......
......@@ -11,7 +11,7 @@
extern "C" {
#if defined(_WIN32)
#include "x264/x264.h"
#include "x264.h"
#else
#include <unistd.h>
#include <inttypes.h>
......
......@@ -8,7 +8,7 @@
extern "C" {
#if defined(_WIN32)
#include "x264/x264.h"
#include "x264.h"
#else
#include <inttypes.h>
#include <x264.h>
......
......@@ -9,7 +9,7 @@
extern "C" {
#if defined(_WIN32)
#include "x264/x264.h"
#include "x264.h"
#include <ws2tcpip.h>
#else
#include <unistd.h>
......
......@@ -24,8 +24,7 @@ target_include_directories(${PLUGIN_NAME} PRIVATE include)
target_include_directories(${PLUGIN_NAME} PRIVATE ../common/include)
if(WINDOWS)
find_library(TIFF NAMES "libtiff" PATHS "${CMAKE_EXTERNAL_DEPS}/lib/libtiff")
target_include_directories(${PLUGIN_NAME} PRIVATE "${CMAKE_EXTERNAL_DEPS}/include/libtiff")
find_library(TIFF NAMES "tiff")
elseif(LINUX)
if(CMAKE_CROSSCOMPILING)
target_include_directories(${PLUGIN_NAME} PRIVATE ${CMAKE_EXTERNAL_DEPS}/include/libtiff)
......@@ -40,5 +39,4 @@ endif()
set_property(TARGET ${PLUGIN_NAME} PROPERTY CXX_STANDARD 14)
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
include_lib_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)
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})
link_target_to_libvideostitch(${PLUGIN_NAME})
......
......@@ -71,10 +71,9 @@ if(WINDOWS)
set(EXTERNAL_DEPS
src/../../external_deps/)
include_directories(${EXTERNAL_DEPS}/include)
include_directories(${EXTERNAL_DEPS}/include/OculusSDK)
include_directories(${EXTERNAL_DEPS}/include/openvr)
find_library(OVR NAMES "LibOVR" PATHS ${EXTERNAL_DEPS}/lib/OculusSDK NO_DEFAULT_PATH)
find_library(OPENVR NAMES "openvr_api" PATHS ${EXTERNAL_DEPS}/lib/openvr NO_DEFAULT_PATH)
include_directories("${OCULUS_PATH}\\Include")
find_library(OVR NAMES "LibOVR" HINTS "${OCULUS_PATH}\\Lib\\Windows\\x64\\Release\\VS2015")
find_library(OPENVR NAMES "openvr_api")
add_definitions(-DNOMINMAX)
add_definitions(-D_USE_MATH_DEFINES)
add_definitions(-DUNICODE)
......
......@@ -20,7 +20,8 @@ endif (NOT CUDA_FOUND)
# TODO: extract find_library + find_package
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(${OPENCV_INCLUDE_DIRS})
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)
......
if(WINDOWS)
return()
endif()
if(APPLE)
if(MACPORTS)
find_path(OpenEXR_ROOT_DIR include/openexr/half.h HINTS /opt/local)
......
......@@ -6,6 +6,6 @@ elseif(LINUX)
elseif(ANDROID)
find_library(PNG_LIBRARY png PATHS ${CMAKE_EXTERNAL_LIB} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
elseif(WINDOWS)
find_debug_and_optimized_library(PNG_LIBRARY "libpng/debug" "libpng" "libpng/release" "libpng")
find_package(PNG REQUIRED)
endif()
......@@ -27,10 +27,6 @@ if(LINUX OR APPLE)
find_package(Threads REQUIRED)
endif(LINUX OR APPLE)
if(WINDOWS)
find_package(Kernel32 REQUIRED)
endif(WINDOWS)
set(R8B_SOURCES
r8bbase.cpp)
......@@ -43,8 +39,4 @@ if(LINUX OR APPLE)
set_target_properties(r8b PROPERTIES POSITION_INDEPENDENT_CODE ON)
endif(LINUX OR APPLE)
if(WINDOWS)
target_link_libraries(r8b Kernel32)
endif(WINDOWS)
set(R8B_LIBRARY r8b PARENT_SCOPE)
set(R8B_LIBRARY r8b PARENT_SCOPE)
\ No newline at end of file
// Copyright (c) 2012-2017 VideoStitch SAS
// Copyright (c) 2018 stitchEm
// VideoStitch BackendLibHelper
#include <cassert>
#include "libgpudiscovery/backendLibHelper.hpp"
#include "backendLibLoader.hpp"
......
......@@ -22,6 +22,7 @@
#include <lmerr.h>
#include <PathCch.h>
#define DELAYIMP_INSECURE_WRITABLE_HOOKS
#include "delayimp.h"
#include "winerror.h"
......
......@@ -83,6 +83,42 @@ cmake -DGPU_BACKEND_CUDA=ON -DGPU_BACKEND_OPENCL=ON \
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
### Global options
......
......@@ -16,10 +16,8 @@ elseif(APPLE)
target_include_directories(${CMD_NAME} PRIVATE /usr/local/include)
endif()
elseif(WINDOWS)
find_library(GLFW glfw3 HINTS "${CMAKE_EXTERNAL_LIB}/glfw" REQUIRED NO_DEFAULT_PATH)
find_library(GLFW glfw3dll REQUIRED)
endif()
target_include_directories(${CMD_NAME} PRIVATE "${CMAKE_EXTERNAL_DEPS}/include")
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
}
} // namespace Core
} // namespace VideoStitch
} // namespace VideoStitch
\ No newline at end of file
......@@ -3,8 +3,5 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(HID hid)
find_debug_and_optimized_library(CERES_LIBS "ceres" "ceres-debug" "ceres" "ceres")
find_library(GLOG NAMES "libglog" PATHS "${CMAKE_EXTERNAL_LIB}/glog")
set(EIGEN3_INCLUDE_DIRS ${CMAKE_EXTERNAL_DEPS}/lib/eigen)
find_library(CERES_LIBS "ceres")
find_library(GLOG NAMES "glog")
\ No newline at end of file
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