1 2CMAKE_MINIMUM_REQUIRED (VERSION 2.8) 3 4PROJECT(dshowsrcwrapper) 5 6IF ("${CMAKE_GENERATOR}" MATCHES "Win64") 7 SET(ARCH_ "x86_64") 8ELSE () 9 SET(ARCH_ "x86") 10ENDIF () 11SET(GST_INSTALL_BASE "C:\\gstreamer\\1.0\\${ARCH_}" CACHE PATH "Path to the GStreamer install base") 12SET(SDK_INSTALL_BASE "C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1" CACHE PATH "Path to the Windows SDK root") 13 14SET_PROPERTY( 15 DIRECTORY 16 APPEND PROPERTY COMPILE_DEFINITIONS 17 HAVE_CONFIG_H 18) 19 20INCLUDE_DIRECTORIES( 21 ${GST_INSTALL_BASE}/include 22 ${GST_INSTALL_BASE}/include/gstreamer-1.0 23 ${GST_INSTALL_BASE}/include/glib-2.0 24 ${GST_INSTALL_BASE}/lib/glib-2.0/include 25 ${GST_INSTALL_BASE}/lib/gstreamer-1.0/include 26 ${SDK_INSTALL_BASE}/Samples/multimedia/directshow/baseclasses 27 28 # When building from the Cerbero build dir, this is where config.h is. 29 ${PROJECT_SOURCE_DIR}/../../_builddir 30) 31 32IF ("${CMAKE_GENERATOR}" MATCHES "Win64") 33 SET(ARCH_ "x64/") 34ELSE () 35 SET(ARCH_ "") 36ENDIF () 37 38LINK_DIRECTORIES( 39 ${GST_INSTALL_BASE}/lib 40 ${SDK_INSTALL_BASE}/Samples/multimedia/directshow/baseclasses/${ARCH_}Release_MBCS 41 ${SDK_INSTALL_BASE}/Samples/multimedia/directshow/baseclasses/${ARCH_}Debug_MBCS 42) 43 44SET(CMAKE_SHARED_LINKER_FLAGS "${CMALE_SHARED_LINKER_FLAGS} /SAFESEH:NO") 45 46ADD_LIBRARY(libgstdshowsrcwrapper SHARED 47 dshowdeviceprovider.cpp 48 dshowdeviceprovider.h 49 gstdshow.cpp 50 gstdshow.h 51 gstdshowfakesink.cpp 52 gstdshowfakesink.h 53 gstdshowaudiosrc.cpp 54 gstdshowaudiosrc.h 55 gstdshowvideosrc.cpp 56 gstdshowvideosrc.h 57 gstdshowsrcwrapper.cpp 58) 59 60TARGET_LINK_LIBRARIES(libgstdshowsrcwrapper 61 gstreamer-1.0 62 gstaudio-1.0 63 gstvideo-1.0 64 gstbase-1.0 65 glib-2.0 66 gobject-2.0 67 debug strmbasd 68 optimized strmbase 69 rpcrt4 70 uuid 71 winmm 72) 73