Right now this only works for video. An attempt was made at adding monitoring following the example winks, but it seems the only devices that can be easily detected are KS sources, which winks already handles.
70 lines
1.6 KiB
CMake
70 lines
1.6 KiB
CMake
|
|
CMAKE_MINIMUM_REQUIRED (VERSION 2.8)
|
|
|
|
PROJECT(dshowsrcwrapper)
|
|
|
|
IF ("${CMAKE_GENERATOR}" MATCHES "Win64")
|
|
SET(ARCH_ "x86_64")
|
|
ELSE ()
|
|
SET(ARCH_ "x86")
|
|
ENDIF ()
|
|
SET(GST_INSTALL_BASE "C:\\gstreamer\\1.0\\${ARCH_}" CACHE PATH "Path to the GStreamer install base")
|
|
SET(SDK_INSTALL_BASE "C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1" CACHE PATH "Path to the Windows SDK root")
|
|
|
|
SET_PROPERTY(
|
|
DIRECTORY
|
|
APPEND PROPERTY COMPILE_DEFINITIONS
|
|
HAVE_CONFIG_H
|
|
)
|
|
|
|
INCLUDE_DIRECTORIES(
|
|
${GST_INSTALL_BASE}/include
|
|
${GST_INSTALL_BASE}/include/gstreamer-1.0
|
|
${GST_INSTALL_BASE}/include/glib-2.0
|
|
${GST_INSTALL_BASE}/lib/glib-2.0/include
|
|
${GST_INSTALL_BASE}/lib/gstreamer-1.0/include
|
|
${SDK_INSTALL_BASE}/Samples/multimedia/directshow/baseclasses
|
|
)
|
|
|
|
IF ("${CMAKE_GENERATOR}" MATCHES "Win64")
|
|
SET(ARCH_ "x64/")
|
|
ELSE ()
|
|
SET(ARCH_ "")
|
|
ENDIF ()
|
|
|
|
LINK_DIRECTORIES(
|
|
${GST_INSTALL_BASE}/lib
|
|
${SDK_INSTALL_BASE}/Samples/multimedia/directshow/baseclasses/${ARCH_}Release_MBCS
|
|
${SDK_INSTALL_BASE}/Samples/multimedia/directshow/baseclasses/${ARCH_}Debug_MBCS
|
|
)
|
|
|
|
SET(CMAKE_SHARED_LINKER_FLAGS "${CMALE_SHARED_LINKER_FLAGS} /SAFESEH:NO")
|
|
|
|
ADD_LIBRARY(libgstdshowsrcwrapper SHARED
|
|
dshowdeviceprovider.cpp
|
|
dshowdeviceprovider.h
|
|
gstdshow.cpp
|
|
gstdshow.h
|
|
gstdshowfakesink.cpp
|
|
gstdshowfakesink.h
|
|
gstdshowaudiosrc.cpp
|
|
gstdshowaudiosrc.h
|
|
gstdshowvideosrc.cpp
|
|
gstdshowvideosrc.h
|
|
gstdshowsrcwrapper.cpp
|
|
)
|
|
|
|
TARGET_LINK_LIBRARIES(libgstdshowsrcwrapper
|
|
gstreamer-1.0
|
|
gstaudio-1.0
|
|
gstvideo-1.0
|
|
gstbase-1.0
|
|
glib-2.0
|
|
gobject-2.0
|
|
debug strmbasd
|
|
optimized strmbase
|
|
rpcrt4
|
|
uuid
|
|
winmm
|
|
)
|