-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
82 lines (67 loc) · 2.8 KB
/
Copy pathCMakeLists.txt
File metadata and controls
82 lines (67 loc) · 2.8 KB
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
79
80
81
82
cmake_minimum_required(VERSION 2.8.11)
project(disupurei)
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically when needed.
set(CMAKE_AUTOMOC ON)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(FindASan)
include(FindMSan)
include(FindTSan)
include(FindUBSan)
find_package(Qt5Network)
find_package(Qt5Widgets)
FIND_LIBRARY(GOBJECT gobject-2.0 HINTS ENV GSTREAMER_ROOT PATH_SUFFIXES lib)
FIND_LIBRARY(GLIB glib-2.0 HINTS ENV GSTREAMER_ROOT PATH_SUFFIXES lib)
FIND_LIBRARY(GSTREAMER gstreamer-1.0 HINTS ENV GSTREAMER_ROOT PATH_SUFFIXES lib)
FIND_LIBRARY(GSTREAMER_BASE gstbase-1.0 HINTS ENV GSTREAMER_ROOT PATH_SUFFIXES lib)
FIND_LIBRARY(GSTREAMER_VIDEO gstvideo-1.0 HINTS ENV GSTREAMER_ROOT PATH_SUFFIXES lib)
FIND_LIBRARY(GSTREAMER_GL gstgl-1.0 HINTS ENV GSTREAMER_ROOT PATH_SUFFIXES lib)
get_filename_component(GLIB_LIB_DIR ${GLIB} DIRECTORY)
get_filename_component(GSTREAMER_LIB_DIR ${GSTREAMER} DIRECTORY)
find_path(GLIB_INCLUDE glib.h HINTS ENV GSTREAMER_ROOT PATH_SUFFIXES include/glib-2.0)
find_path(GLIB_CONFIG_INCLUDE glibconfig.h HINTS ${GLIB_LIB_DIR} PATH_SUFFIXES glib-2.0/include)
find_path(GSTREAMER_INCLUDE gst/gst.h HINTS ENV GSTREAMER_ROOT PATH_SUFFIXES include/gstreamer-1.0)
find_path(GSTREAMER_CONFIG_INCLUDE gst/gstconfig.h HINTS ${GSTREAMER_LIB_DIR} PATH_SUFFIXES gstreamer-1.0/include)
LIST(APPEND GLIB_INCLUDE_DIRS ${GLIB_INCLUDE})
LIST(APPEND GLIB_INCLUDE_DIRS ${GLIB_CONFIG_INCLUDE})
LIST(APPEND GSTREAMER_INCLUDE_DIRS ${GSTREAMER_INCLUDE})
LIST(APPEND GSTREAMER_INCLUDE_DIRS ${GSTREAMER_CONFIG_INCLUDE})
IF(WIN32)
# Need the gl.h and glext.h from GSTREAMER install on Windows
find_path(GL_INCLUDE GL/gl.h HINTS ENV GSTREAMER_ROOT PATH_SUFFIXES include)
LIST(APPEND GSTREAMER_INCLUDE_DIRS ${GL_INCLUDE})
ENDIF(WIN32)
IF ("${PLATFORM}" STREQUAL "raspberry-pi")
FIND_LIBRARY(GLESV2 GLESv2 PATHS "/opt/vc/lib")
set(PLATFORM_INCLUDES "${CMAKE_SYSROOT}/opt/vc/include/interface/vcos/pthreads")
LIST(APPEND PLATFORM_LIBRARIES ${GLESV2})
ENDIF()
IF(UNIX)
find_package(Qt5X11Extras)
SET(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} "Qt5::X11Extras")
ENDIF()
add_executable(disupurei
gstpipeline.cpp
imageplayer.cpp
main.cpp
playlist.cpp
videoplayer.cpp
window.cpp
)
target_include_directories(disupurei PRIVATE "${GSTREAMER_INCLUDE_DIRS}")
target_include_directories(disupurei PRIVATE "${GLIB_INCLUDE_DIRS}")
target_include_directories(disupurei SYSTEM PRIVATE "${PLATFORM_INCLUDES}")
target_link_libraries(disupurei
Qt5::Network
Qt5::Widgets
${GOBJECT}
${GLIB}
${GSTREAMER}
${GSTREAMER_BASE}
${GSTREAMER_VIDEO}
${GSTREAMER_GL}
${PLATFORM_LIBRARIES}
)
set_property(TARGET disupurei PROPERTY CXX_STANDARD 11)
set_property(TARGET disupurei PROPERTY CXX_STANDARD_REQUIRED true)