summaryrefslogtreecommitdiff
blob: 039aebc0dc1aec6156fb1eea77df8cb55be24e5d (plain)
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
From da48b7fceed0238884f341530b5f4d84005dab57 Mon Sep 17 00:00:00 2001
From: Alex Merry <alex.merry@kde.org>
Date: Sun, 18 Oct 2015 15:21:45 +0100
Subject: [PATCH] Fix finding recent versions of GStreamer.

Newer versions of GStreamer put gst-config.h under
lib/gstreamer-1.0/include, so we need to make sure that directory will
be added to the include path as well.

REVIEW: 125690
---
 cmake/FindGStreamer.cmake | 26 +++++++++++++++++++++-----
 1 file changed, 21 insertions(+), 5 deletions(-)

diff --git a/cmake/FindGStreamer.cmake b/cmake/FindGStreamer.cmake
index d7243d4..e30c349 100644
--- a/cmake/FindGStreamer.cmake
+++ b/cmake/FindGStreamer.cmake
@@ -36,6 +36,27 @@ FIND_PATH(GSTREAMER_INCLUDE_DIR gst/gst.h
    PATH_SUFFIXES gstreamer-1.0
    )
 
+IF (NOT GSTREAMER_INCLUDE_DIR)
+   MESSAGE(STATUS "GStreamer: WARNING: include dir not found")
+ENDIF (NOT GSTREAMER_INCLUDE_DIR)
+
+# Newer versions of GStreamer put gst-config.h under lib/gstreamer-1.0/include
+FIND_PATH(GSTREAMER_CONF_INCLUDE_DIR gst/gstconfig.h
+   PATHS
+   ${PKG_GSTREAMER_INCLUDE_DIRS}
+   PATH_SUFFIXES gstreamer-1.0
+   )
+
+IF (NOT GSTREAMER_CONF_INCLUDE_DIR)
+   MESSAGE(STATUS "GStreamer: WARNING: gstconfig.h not found")
+ENDIF (NOT GSTREAMER_CONF_INCLUDE_DIR)
+
+IF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_CONF_INCLUDE_DIR)
+   IF (NOT GSTREAMER_CONF_INCLUDE_DIR STREQUAL GSTREAMER_INCLUDE_DIR)
+      LIST(APPEND GSTREAMER_INCLUDE_DIR "${GSTREAMER_CONF_INCLUDE_DIR}")
+   ENDIF()
+ENDIF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_CONF_INCLUDE_DIR)
+
 FIND_LIBRARY(GSTREAMER_LIBRARIES NAMES gstreamer-1.0
    PATHS
    ${PKG_GSTREAMER_LIBRARY_DIRS}
@@ -51,11 +72,6 @@ FIND_LIBRARY(GSTREAMER_APP_LIBRARY NAMES gstapp-1.0
    ${PKG_GSTREAMER_LIBRARY_DIRS}
    )
 
-IF (GSTREAMER_INCLUDE_DIR)
-ELSE (GSTREAMER_INCLUDE_DIR)
-   MESSAGE(STATUS "GStreamer: WARNING: include dir not found")
-ENDIF (GSTREAMER_INCLUDE_DIR)
-
 IF (GSTREAMER_LIBRARIES)
 ELSE (GSTREAMER_LIBRARIES)
    MESSAGE(STATUS "GStreamer: WARNING: library not found")
-- 
2.4.10