summaryrefslogtreecommitdiffstats
path: root/cmake/modules
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules')
-rw-r--r--cmake/modules/FindBluray.cmake2
-rw-r--r--cmake/modules/FindEMBEDDED.cmake16
-rw-r--r--cmake/modules/FindFFMPEG.cmake2
-rw-r--r--cmake/modules/FindGBM.cmake44
-rw-r--r--cmake/modules/FindLibDvd.cmake2
-rw-r--r--cmake/modules/FindOpenGLES.cmake18
-rw-r--r--cmake/modules/FindOpenGLES3.cmake24
-rw-r--r--cmake/modules/FindSndio.cmake59
-rw-r--r--cmake/modules/FindVAAPI.cmake52
9 files changed, 129 insertions, 90 deletions
diff --git a/cmake/modules/FindBluray.cmake b/cmake/modules/FindBluray.cmake
index 0bba128..9e5bf08 100644
--- a/cmake/modules/FindBluray.cmake
+++ b/cmake/modules/FindBluray.cmake
@@ -15,7 +15,7 @@
15# Bluray::Bluray - The libbluray library 15# Bluray::Bluray - The libbluray library
16 16
17if(PKG_CONFIG_FOUND) 17if(PKG_CONFIG_FOUND)
18 pkg_check_modules(PC_BLURAY libbluray>=0.7.0 QUIET) 18 pkg_check_modules(PC_BLURAY libbluray>=0.9.3 QUIET)
19endif() 19endif()
20 20
21find_path(BLURAY_INCLUDE_DIR libbluray/bluray.h 21find_path(BLURAY_INCLUDE_DIR libbluray/bluray.h
diff --git a/cmake/modules/FindEMBEDDED.cmake b/cmake/modules/FindEMBEDDED.cmake
deleted file mode 100644
index 8034c4e..0000000
--- a/cmake/modules/FindEMBEDDED.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
1# - Try to find embedded platforms (RPI/IMX6)
2# Once done this will define
3#
4# EMBEDDED_FOUND - system is RPI / IMX6 and we most probably want to compile for GLES2 support
5# (don't configure for OpenGL)
6
7if(NOT CMAKE_SYSTEM_PROCESSOR)
8 set(CMAKE_SYSTEM_PROCESSOR ${CPU})
9endif()
10
11string(REGEX MATCH "^arm" TARGET_ARCH_ARM "${CMAKE_SYSTEM_PROCESSOR}")
12if(NOT KODI_DEPENDSBUILD AND NOT TARGET_ARCH_ARM)
13 return()
14endif()
15
16find_path(EMBEDDED_FOUND NAMES include/linux/mxcfb.h include/bcm_host.h PATHS /opt/vc)
diff --git a/cmake/modules/FindFFMPEG.cmake b/cmake/modules/FindFFMPEG.cmake
index 63505a5..dbeb444 100644
--- a/cmake/modules/FindFFMPEG.cmake
+++ b/cmake/modules/FindFFMPEG.cmake
@@ -224,7 +224,7 @@ if(NOT FFMPEG_FOUND)
224 if(FFMPEG_URL) 224 if(FFMPEG_URL)
225 get_filename_component(FFMPEG_URL "${FFMPEG_URL}" ABSOLUTE) 225 get_filename_component(FFMPEG_URL "${FFMPEG_URL}" ABSOLUTE)
226 else() 226 else()
227 set(FFMPEG_URL ${FFMPEG_BASE_URL}/${FFMPEG_VER}.tar.gz) 227 set(FFMPEG_URL ${FFMPEG_BASE_URL}/archive/${FFMPEG_VER}.tar.gz)
228 endif() 228 endif()
229 if(VERBOSE) 229 if(VERBOSE)
230 message(STATUS "FFMPEG_URL: ${FFMPEG_URL}") 230 message(STATUS "FFMPEG_URL: ${FFMPEG_URL}")
diff --git a/cmake/modules/FindGBM.cmake b/cmake/modules/FindGBM.cmake
new file mode 100644
index 0000000..ac95241
--- /dev/null
+++ b/cmake/modules/FindGBM.cmake
@@ -0,0 +1,44 @@
1# FindGBM
2# ----------
3# Finds the GBM library
4#
5# This will will define the following variables::
6#
7# GBM_FOUND - system has GBM
8# GBM_INCLUDE_DIRS - the GBM include directory
9# GBM_LIBRARIES - the GBM libraries
10# GBM_DEFINITIONS - the GBM definitions
11#
12# and the following imported targets::
13#
14# GBM::GBM - The GBM library
15
16if(PKG_CONFIG_FOUND)
17 pkg_check_modules(PC_GBM gbm QUIET)
18endif()
19
20find_path(GBM_INCLUDE_DIR NAMES gbm.h
21 PATHS ${PC_GBM_INCLUDEDIR})
22find_library(GBM_LIBRARY NAMES gbm
23 PATHS ${PC_GBM_LIBDIR})
24
25set(GBM_VERSION ${PC_GBM_VERSION})
26
27include(FindPackageHandleStandardArgs)
28find_package_handle_standard_args(GBM
29 REQUIRED_VARS GBM_LIBRARY GBM_INCLUDE_DIR
30 VERSION_VAR GBM_VERSION)
31
32if(GBM_FOUND)
33 set(GBM_LIBRARIES ${GBM_LIBRARY})
34 set(GBM_INCLUDE_DIRS ${GBM_INCLUDE_DIR})
35 set(GBM_DEFINITIONS -DHAVE_GBM=1)
36 if(NOT TARGET GBM::GBM)
37 add_library(GBM::GBM UNKNOWN IMPORTED)
38 set_target_properties(GBM::GBM PROPERTIES
39 IMPORTED_LOCATION "${GBM_LIBRARY}"
40 INTERFACE_INCLUDE_DIRECTORIES "${GBM_INCLUDE_DIR}")
41 endif()
42endif()
43
44mark_as_advanced(GBM_INCLUDE_DIR GBM_LIBRARY)
diff --git a/cmake/modules/FindLibDvd.cmake b/cmake/modules/FindLibDvd.cmake
index eeb416c..86af89c 100644
--- a/cmake/modules/FindLibDvd.cmake
+++ b/cmake/modules/FindLibDvd.cmake
@@ -203,7 +203,7 @@ if(NOT WIN32)
203 endif() 203 endif()
204else() 204else()
205 # Dynamically loaded on Windows 205 # Dynamically loaded on Windows
206 find_path(LIBDVD_INCLUDE_DIR dvdcss/dvdcss.h PATHS ${CMAKE_SOURCE_DIR}/lib/libdvd/include) 206 find_path(LIBDVD_INCLUDE_DIR dvdcss/dvdcss.h)
207 207
208 include(FindPackageHandleStandardArgs) 208 include(FindPackageHandleStandardArgs)
209 find_package_handle_standard_args(LibDvd REQUIRED_VARS LIBDVD_INCLUDE_DIR) 209 find_package_handle_standard_args(LibDvd REQUIRED_VARS LIBDVD_INCLUDE_DIR)
diff --git a/cmake/modules/FindOpenGLES.cmake b/cmake/modules/FindOpenGLES.cmake
index ab06f96..4333a69 100644
--- a/cmake/modules/FindOpenGLES.cmake
+++ b/cmake/modules/FindOpenGLES.cmake
@@ -10,13 +10,8 @@
10# OPENGLES_LIBRARIES - the OpenGLES libraries 10# OPENGLES_LIBRARIES - the OpenGLES libraries
11# OPENGLES_DEFINITIONS - the OpenGLES definitions 11# OPENGLES_DEFINITIONS - the OpenGLES definitions
12 12
13find_package(EMBEDDED) 13if(PKG_CONFIG_FOUND)
14
15if(PKG_CONFIG_FOUND AND NOT PLATFORM STREQUAL "raspberry-pi")
16 pkg_check_modules(PC_OPENGLES glesv2 QUIET) 14 pkg_check_modules(PC_OPENGLES glesv2 QUIET)
17 if(NOT OPENGLES_FOUND AND EMBEDDED_FOUND)
18 set(CMAKE_PREFIX_PATH ${EMBEDDED_FOUND} ${CMAKE_PREFIX_PATH})
19 endif()
20endif() 15endif()
21 16
22if(NOT CORE_SYSTEM_NAME STREQUAL ios) 17if(NOT CORE_SYSTEM_NAME STREQUAL ios)
@@ -24,25 +19,22 @@ if(NOT CORE_SYSTEM_NAME STREQUAL ios)
24 PATHS ${PC_OPENGLES_INCLUDEDIR}) 19 PATHS ${PC_OPENGLES_INCLUDEDIR})
25 find_library(OPENGLES_gl_LIBRARY NAMES GLESv2 20 find_library(OPENGLES_gl_LIBRARY NAMES GLESv2
26 PATHS ${PC_OPENGLES_LIBDIR}) 21 PATHS ${PC_OPENGLES_LIBDIR})
27 find_library(OPENGLES_egl_LIBRARY NAMES EGL
28 PATHS ${PC_OPENGLES_LIBDIR})
29else() 22else()
30 find_library(OPENGLES_gl_LIBRARY NAMES OpenGLES 23 find_library(OPENGLES_gl_LIBRARY NAMES OpenGLES
31 PATHS ${CMAKE_OSX_SYSROOT}/System/Library 24 PATHS ${CMAKE_OSX_SYSROOT}/System/Library
32 PATH_SUFFIXES Frameworks 25 PATH_SUFFIXES Frameworks
33 NO_DEFAULT_PATH) 26 NO_DEFAULT_PATH)
34 set(OPENGLES_INCLUDE_DIR ${OPENGLES_gl_LIBRARY}/Headers) 27 set(OPENGLES_INCLUDE_DIR ${OPENGLES_gl_LIBRARY}/Headers)
35 set(OPENGLES_egl_LIBRARY ${OPENGLES_gl_LIBRARY})
36endif() 28endif()
37 29
38include(FindPackageHandleStandardArgs) 30include(FindPackageHandleStandardArgs)
39find_package_handle_standard_args(OpenGLES 31find_package_handle_standard_args(OpenGLES
40 REQUIRED_VARS OPENGLES_gl_LIBRARY OPENGLES_egl_LIBRARY OPENGLES_INCLUDE_DIR) 32 REQUIRED_VARS OPENGLES_gl_LIBRARY OPENGLES_INCLUDE_DIR)
41 33
42if(OPENGLES_FOUND) 34if(OPENGLES_FOUND)
43 set(OPENGLES_INCLUDE_DIRS ${OPENGLES_INCLUDE_DIR}) 35 set(OPENGLES_INCLUDE_DIRS ${OPENGLES_INCLUDE_DIR})
44 set(OPENGLES_LIBRARIES ${OPENGLES_gl_LIBRARY} ${OPENGLES_egl_LIBRARY}) 36 set(OPENGLES_LIBRARIES ${OPENGLES_gl_LIBRARY})
45 set(OPENGLES_DEFINITIONS -DHAVE_LIBGLESV2 -DHAVE_LIBEGL=1) 37 set(OPENGLES_DEFINITIONS -DHAVE_LIBGLESV2)
46endif() 38endif()
47 39
48mark_as_advanced(OPENGLES_INCLUDE_DIR OPENGLES_gl_LIBRARY OPENGLES_egl_LIBRARY) 40mark_as_advanced(OPENGLES_INCLUDE_DIR OPENGLES_gl_LIBRARY)
diff --git a/cmake/modules/FindOpenGLES3.cmake b/cmake/modules/FindOpenGLES3.cmake
new file mode 100644
index 0000000..394328d
--- /dev/null
+++ b/cmake/modules/FindOpenGLES3.cmake
@@ -0,0 +1,24 @@
1#.rst:
2# FindOpenGLES3
3# ------------
4# Finds the OpenGLES3 library
5#
6# This will will define the following variables::
7#
8# OPENGLES3_FOUND - system has OpenGLES3
9# OPENGLES3_INCLUDE_DIRS - the OpenGLES3 include directory
10# OPENGLES3_DEFINITIONS - the OpenGLES3 definitions
11
12
13find_path(OPENGLES3_INCLUDE_DIR GLES3/gl3.h)
14
15include(FindPackageHandleStandardArgs)
16find_package_handle_standard_args(OpenGLES3
17 REQUIRED_VARS OPENGLES3_INCLUDE_DIR)
18
19if(OPENGLES3_FOUND)
20 set(OPENGLES3_INCLUDE_DIRS ${OPENGLES3_INCLUDE_DIR})
21 set(OPENGLES3_DEFINITIONS -DHAVE_LIBGLESV3)
22endif()
23
24mark_as_advanced(OPENGLES3_INCLUDE_DIR)
diff --git a/cmake/modules/FindSndio.cmake b/cmake/modules/FindSndio.cmake
index 4e66a4b..3dd53d9 100644
--- a/cmake/modules/FindSndio.cmake
+++ b/cmake/modules/FindSndio.cmake
@@ -1,34 +1,41 @@
1# sndio check, based on FindAlsa.cmake
2# 1#
3 2# FindSndio
4# Copyright (c) 2006, David Faure, <faure@kde.org> 3# ---------
5# Copyright (c) 2007, Matthias Kretz <kretz@kde.org> 4# Finds the Sndio Library
6# Copyright (c) 2009, Jacob Meuser <jakemsr@sdf.lonestar.org> 5#
6# This will will define the following variables:
7#
8# SNDIO_FOUND - system has sndio
9# SNDIO_INCLUDE_DIRS - sndio include directory
10# SNDIO_DEFINITIONS - sndio definitions
11#
12# and the following imported targets::
13#
14# Sndio::Sndio - the sndio library
7# 15#
8# Redistribution and use is allowed according to the terms of the BSD license.
9# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
10
11include(CheckIncludeFiles)
12include(CheckIncludeFileCXX)
13include(CheckLibraryExists)
14 16
15# Already done by toplevel 17find_path(SNDIO_INCLUDE_DIR sndio.h)
16find_library(SNDIO_LIBRARY sndio) 18find_library(SNDIO_LIBRARY sndio)
17set(SNDIO_LIBRARY_DIR "")
18if(SNDIO_LIBRARY)
19 get_filename_component(SNDIO_LIBRARY_DIR ${SNDIO_LIBRARY} PATH)
20endif(SNDIO_LIBRARY)
21 19
22check_library_exists(sndio sio_open "${SNDIO_LIBRARY_DIR}" HAVE_SNDIO) 20
23if(HAVE_SNDIO) 21include(FindPackageHandleStandardArgs)
24 message(STATUS "Found sndio: ${SNDIO_LIBRARY}") 22find_package_handle_standard_args(Sndio
25 set(SNDIO_DEFINITIONS -DHAVE_SNDIO=1) 23 REQUIRED_VARS SNDIO_LIBRARY SNDIO_INCLUDE_DIR)
24
25if(SNDIO_FOUND)
26 set(SNDIO_INCLUDE_DIRS ${SNDIO_INCLUDE_DIR})
26 set(SNDIO_LIBRARIES ${SNDIO_LIBRARY}) 27 set(SNDIO_LIBRARIES ${SNDIO_LIBRARY})
27else(HAVE_SNDIO) 28 set(SNDIO_DEFINITIONS -DHAVE_SNDIO=1)
28 message(STATUS "sndio not found") 29
29endif(HAVE_SNDIO) 30 if(NOT TARGET Sndio::Sndio)
30set(SNDIO_FOUND ${HAVE_SNDIO}) 31 add_library(Sndio::Sndio UNKNOWN IMPORTED)
32 set_target_properties(Sndio::Sndio PROPERTIES
33 IMPORTED_LOCATION "${SNDIO_LIBRARY}"
34 INTERFACE_INCLUDE_DIRECTORIES "${SNDIO_INCLUDE_DIR}")
35 set_target_properties(Sndio::Sndio PROPERTIES
36 INTERFACE_COMPILE_DEFINITIONS -DHAVE_SNDIO=1)
37 endif()
38endif()
31 39
32find_path(SNDIO_INCLUDES sndio.h)
33 40
34mark_as_advanced(SNDIO_INCLUDES SNDIO_LIBRARY) 41mark_as_advanced(SNDIO_INCLUDE_DIR SNDIO_LIBRARY)
diff --git a/cmake/modules/FindVAAPI.cmake b/cmake/modules/FindVAAPI.cmake
index 49f74d8..5b57d23 100644
--- a/cmake/modules/FindVAAPI.cmake
+++ b/cmake/modules/FindVAAPI.cmake
@@ -9,23 +9,29 @@
9# VAAPI_INCLUDE_DIRS - the VAAPI include directory 9# VAAPI_INCLUDE_DIRS - the VAAPI include directory
10# VAAPI_LIBRARIES - the VAAPI libraries 10# VAAPI_LIBRARIES - the VAAPI libraries
11# VAAPI_DEFINITIONS - the VAAPI definitions 11# VAAPI_DEFINITIONS - the VAAPI definitions
12#
13# and the following imported targets::
14#
15# VAAPI::VAAPI - The VAAPI library
16 12
17if(PKG_CONFIG_FOUND) 13if(PKG_CONFIG_FOUND)
18 pkg_check_modules(PC_VAAPI libva libva-x11 QUIET) 14 pkg_check_modules(PC_VAAPI libva libva-drm libva-x11 QUIET)
19endif() 15endif()
20 16
21find_path(VAAPI_INCLUDE_DIR va/va.h 17set(REQUIRED_VARS "VAAPI_libva_LIBRARY" "VAAPI_libva-drm_LIBRARY" "VAAPI_libva_INCLUDE_DIR" "VAAPI_libva-drm_INCLUDE_DIR")
18
19find_path(VAAPI_libva_INCLUDE_DIR va/va.h
22 PATHS ${PC_VAAPI_libva_INCLUDEDIR}) 20 PATHS ${PC_VAAPI_libva_INCLUDEDIR})
23find_library(VAAPI_libva_LIBRARY NAMES va 21find_library(VAAPI_libva_LIBRARY NAMES va
24 PATHS ${PC_VAAPI_libva_LIBDIR}) 22 PATHS ${PC_VAAPI_libva_LIBDIR})
25find_library(VAAPI_libva-x11_LIBRARY NAMES va-x11 23find_path(VAAPI_libva-drm_INCLUDE_DIR va/va_drm.h
26 PATHS ${PC_VAAPI_libva_LIBDIR}) 24 PATHS ${PC_VAAPI_libva-drm_INCLUDEDIR})
27find_library(VAAPI_libva-drm_LIBRARY NAMES va-drm 25find_library(VAAPI_libva-drm_LIBRARY NAMES va-drm
28 PATHS ${PC_VAAPI_libva_LIBDIR}) 26 PATHS ${PC_VAAPI_libva-drm_LIBDIR})
27
28if(CORE_PLATFORM_NAME_LC STREQUAL "x11")
29 find_path(VAAPI_libva-x11_INCLUDE_DIR va/va_x11.h
30 PATHS ${PC_VAAPI_libva-x11_INCLUDEDIR})
31 find_library(VAAPI_libva-x11_LIBRARY NAMES va-x11
32 PATHS ${PC_VAAPI_libva-x11_LIBDIR})
33 list(APPEND REQUIRED_VARS "VAAPI_libva-x11_INCLUDE_DIR" "VAAPI_libva-x11_LIBRARY")
34endif()
29 35
30if(PC_VAAPI_libva_VERSION) 36if(PC_VAAPI_libva_VERSION)
31 set(VAAPI_VERSION_STRING ${PC_VAAPI_libva_VERSION}) 37 set(VAAPI_VERSION_STRING ${PC_VAAPI_libva_VERSION})
@@ -41,32 +47,14 @@ endif()
41 47
42include(FindPackageHandleStandardArgs) 48include(FindPackageHandleStandardArgs)
43find_package_handle_standard_args(VAAPI 49find_package_handle_standard_args(VAAPI
44 REQUIRED_VARS VAAPI_libva_LIBRARY VAAPI_libva-x11_LIBRARY VAAPI_libva-drm_LIBRARY VAAPI_INCLUDE_DIR 50 REQUIRED_VARS ${REQUIRED_VARS}
45 VERSION_VAR VAAPI_VERSION_STRING) 51 VERSION_VAR VAAPI_VERSION_STRING)
46 52
47if(VAAPI_FOUND) 53if(VAAPI_FOUND)
48 set(VAAPI_INCLUDE_DIRS ${VAAPI_INCLUDE_DIR}) 54 set(VAAPI_INCLUDE_DIRS ${VAAPI_INCLUDE_DIR} ${VAAPI_DRM_INCLUDE_DIR} ${VAAPI_X11_INCLUDE_DIR})
49 set(VAAPI_LIBRARIES ${VAAPI_libva_LIBRARY} ${VAAPI_libva-x11_LIBRARY} ${VAAPI_libva-drm_LIBRARY}) 55 set(VAAPI_LIBRARIES ${VAAPI_libva_LIBRARY} ${VAAPI_libva-drm_LIBRARY} ${VAAPI_libva-x11_LIBRARY})
50 set(VAAPI_DEFINITIONS -DHAVE_LIBVA=1) 56 set(VAAPI_DEFINITIONS -DHAVE_LIBVA=1)
51
52 if(NOT TARGET VAAPI::VAAPI_X11)
53 add_library(VAAPI::VAAPI_X11 UNKNOWN IMPORTED)
54 set_target_properties(VAAPI::VAAPI_X11 PROPERTIES
55 IMPORTED_LOCATION "${VAAPI_libva-x11_LIBRARY}")
56 endif()
57 if (NOT TARGET VAAPI::VAAPI_DRM)
58 add_library(VAAPI::VAAPI_DRM UNKNOWN IMPORTED)
59 set_target_properties(VAAPI::VAAPI_DRM PROPERTIES
60 IMPORTED_LOCATION "${VAAPI_libva-drm_LIBRARY}")
61 endif()
62 if(NOT TARGET VAAPI::VAAPI)
63 add_library(VAAPI::VAAPI UNKNOWN IMPORTED)
64 set_target_properties(VAAPI::VAAPI PROPERTIES
65 IMPORTED_LOCATION "${VAAPI_libva_LIBRARY}"
66 INTERFACE_INCLUDE_DIRECTORIES "${VAAPI_INCLUDE_DIR}"
67 INTERFACE_COMPILE_DEFINITIONS HAVE_LIBVA=1
68 INTERFACE_LINK_LIBRARIES "VAAPI::VAAPI_X11 VAAPI::VAAPI_DRM")
69 endif()
70endif() 57endif()
71 58
72mark_as_advanced(VAAPI_INCLUDE_DIR VAAPI_libva_LIBRARY VAAPI_libva-x11_LIBRARY VAAPI_libva-drm_LIBRARY) 59mark_as_advanced(VAAPI_libva_INCLUDE_DIR VAAPI_libva-drm_INCLUDE_DIR VAAPI_libva-x11_INCLUDE_DIR
60 VAAPI_libva_LIBRARY VAAPI_libva-drm_LIBRARY VAAPI_libva-x11_LIBRARY)