-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathCMakeLists.txt
78 lines (57 loc) · 1.95 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
cmake_minimum_required(VERSION "2.8.0")
project(gst-smile-plugins)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
set(GST_VERSION_MAJOR 1)
set(GST_VERSION_MINOR 0)
set(GST_MAJORMINOR ${GST_VERSION_MAJOR}.${GST_VERSION_MINOR})
# Check dependencies
include(FindPkgConfig)
include(PkgCheckVariable)
pkg_check_modules(GST REQUIRED gstreamer-${GST_MAJORMINOR})
pkg_check_modules(GST_VIDEO REQUIRED gstreamer-video-${GST_MAJORMINOR})
pkg_check_variable(GST_PLUGIN_PATH gstreamer-1.0 pluginsdir)
if(NOT GST_FOUND)
message(FATAL_ERROR "GStreamer not found")
endif()
# Define paths for includes and libraries
# GStreamer
include_directories(
${GST_INCLUDE_DIRS}
${GST_VIDEO_INCLUDE_DIRS}
)
link_directories(
${GST_LIBRARY_DIRS}
${GST_VIDEO_LIBRARY_DIRS}
)
#define plugin sources
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Source and headers
set(core_SRCS
gstplugins/gstmmalsrc.c
)
set(core_HDRS
gstplugins/gstmmalsrc.h
)
set (MMAL_LIBS mmal_core mmal_util mmal_vc_client mmal)
#Compiler flags
set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-as-needed")
add_library(gstmmal MODULE ${core_SRCS} ${core_HDRS})
# Link and installation
target_link_libraries(gstmmal
${GST_LIBRARIES}
${GST_VIDEO_LIBRARIES}
${MMAL_LIBS}
vcos
bcm_host
vchiq_arm
)
install(TARGETS gstmmal LIBRARY DESTINATION lib/gstreamer-${GST_MAJORMINOR})
message(STATUS "CMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}")
message(STATUS "GST_PLUGIN_PATH = ${GST_PLUGIN_PATH}")
message(STATUS "GST_INCLUDE_DIRS = ${GST_INCLUDE_DIRS}")
message(STATUS "GST_VIDEO_INCLUDE_DIRS = ${GST_VIDEO_INCLUDE_DIRS}")
message(STATUS "GST_LIBRARY_DIRS = ${GST_LIBRARY_DIRS}")
message(STATUS "GST_VIDEO_LIBRARY_DIRS = ${GST_VIDEO_LIBRARY_DIRS}")
message(STATUS "GST_LIBRARIES = ${GST_LIBRARIES}")
message(STATUS "GST_VIDEO_LIBRARIES = ${GST_VIDEO_LIBRARIES}")
message(STATUS "COMPILER FLAGS = ${CMAKE_MODULE_LINKER_FLAGS}")