summaryrefslogtreecommitdiffstats
path: root/cmake/modules
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2020-10-19 00:52:24 +0200
committermanuel <manuel@mausz.at>2020-10-19 00:52:24 +0200
commitbe933ef2241d79558f91796cc5b3a161f72ebf9c (patch)
treefe3ab2f130e20c99001f2d7a81d610c78c96a3f4 /cmake/modules
parent5f8335c1e49ce108ef3481863833c98efa00411b (diff)
downloadkodi-pvr-build-be933ef2241d79558f91796cc5b3a161f72ebf9c.tar.gz
kodi-pvr-build-be933ef2241d79558f91796cc5b3a161f72ebf9c.tar.bz2
kodi-pvr-build-be933ef2241d79558f91796cc5b3a161f72ebf9c.zip
sync with upstream
Diffstat (limited to 'cmake/modules')
-rw-r--r--cmake/modules/FindClangTidy.cmake26
-rw-r--r--cmake/modules/FindCppcheck.cmake32
-rw-r--r--cmake/modules/FindEGL.cmake8
-rw-r--r--cmake/modules/FindIncludeWhatYouUse.cmake26
-rw-r--r--cmake/modules/FindLibDRM.cmake2
-rw-r--r--cmake/modules/FindLibDvd.cmake15
-rw-r--r--cmake/modules/FindMMAL.cmake55
-rw-r--r--cmake/modules/FindOpenGLES.cmake8
-rw-r--r--cmake/modules/FindPlist.cmake4
9 files changed, 105 insertions, 71 deletions
diff --git a/cmake/modules/FindClangTidy.cmake b/cmake/modules/FindClangTidy.cmake
new file mode 100644
index 0000000..6ea614d
--- /dev/null
+++ b/cmake/modules/FindClangTidy.cmake
@@ -0,0 +1,26 @@
1#.rst:
2# FindClangTidy
3# -------------
4# Finds clang-tidy and sets it up to run along with the compiler for C and CXX.
5
6find_program(CLANG_TIDY_EXECUTABLE clang-tidy)
7
8if(CLANG_TIDY_EXECUTABLE)
9 execute_process(COMMAND "${CLANG_TIDY_EXECUTABLE}" --version
10 OUTPUT_VARIABLE CLANG_TIDY_VERSION
11 OUTPUT_STRIP_TRAILING_WHITESPACE)
12 string(REGEX MATCH "[^\n]* version [^\n]*" CLANG_TIDY_VERSION "${CLANG_TIDY_VERSION}")
13 string(REGEX REPLACE ".* version (.*)" "\\1" CLANG_TIDY_VERSION "${CLANG_TIDY_VERSION}")
14endif()
15
16include(FindPackageHandleStandardArgs)
17find_package_handle_standard_args(ClangTidy REQUIRED_VARS CLANG_TIDY_EXECUTABLE
18 VERSION_VAR CLANG_TIDY_VERSION)
19
20if(CLANGTIDY_FOUND)
21 # Supports Unix Makefiles and Ninja
22 set(CMAKE_C_CLANG_TIDY "${CLANG_TIDY_EXECUTABLE}" PARENT_SCOPE)
23 set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_EXECUTABLE}" PARENT_SCOPE)
24endif()
25
26mark_as_advanced(CLANG_TIDY_EXECUTABLE)
diff --git a/cmake/modules/FindCppcheck.cmake b/cmake/modules/FindCppcheck.cmake
new file mode 100644
index 0000000..d3b6e84
--- /dev/null
+++ b/cmake/modules/FindCppcheck.cmake
@@ -0,0 +1,32 @@
1#.rst:
2# FindCppcheck
3# ------------
4# Finds cppcheck and sets it up to run along with the compiler for C and CXX.
5
6find_program(CPPCHECK_EXECUTABLE cppcheck)
7
8if(CPPCHECK_EXECUTABLE)
9 execute_process(COMMAND "${CPPCHECK_EXECUTABLE}" --version
10 OUTPUT_VARIABLE CPPCHECK_VERSION
11 OUTPUT_STRIP_TRAILING_WHITESPACE)
12 string(REGEX REPLACE "Cppcheck (.*)" "\\1" CPPCHECK_VERSION "${CPPCHECK_VERSION}")
13endif()
14
15include(FindPackageHandleStandardArgs)
16find_package_handle_standard_args(Cppcheck REQUIRED_VARS CPPCHECK_EXECUTABLE
17 VERSION_VAR CPPCHECK_VERSION)
18
19if(CPPCHECK_FOUND)
20 # CMake < 3.16 treats Objective-C (OBJC) files as C files and Objective-C++ (OBJCXX) files as C++ files,
21 # but cppcheck doesn't support Objective-C and Objective-C++.
22 # CMake >= 3.16 added support for Objective-C and Objective-C++ language,
23 # but doesn't support OBJC and OBJCXX for <LANG>_CLANG_TIDY.
24 file(WRITE "${CMAKE_BINARY_DIR}/cppcheck" "case \"$@\" in *.m|*.mm) exit 0; esac\nexec \"${CPPCHECK_EXECUTABLE}\" --quiet --relative-paths=\"${CMAKE_SOURCE_DIR}\" \"$@\"\n")
25 execute_process(COMMAND chmod +x "${CMAKE_BINARY_DIR}/cppcheck")
26
27 # Supports Unix Makefiles and Ninja
28 set(CMAKE_C_CPPCHECK "${CMAKE_BINARY_DIR}/cppcheck" PARENT_SCOPE)
29 set(CMAKE_CXX_CPPCHECK "${CMAKE_BINARY_DIR}/cppcheck" PARENT_SCOPE)
30endif()
31
32mark_as_advanced(CPPCHECK_EXECUTABLE)
diff --git a/cmake/modules/FindEGL.cmake b/cmake/modules/FindEGL.cmake
index 0b73eb8..b00fe08 100644
--- a/cmake/modules/FindEGL.cmake
+++ b/cmake/modules/FindEGL.cmake
@@ -14,18 +14,14 @@
14# 14#
15# EGL::EGL - The EGL library 15# EGL::EGL - The EGL library
16 16
17if(CORE_PLATFORM_NAME_LC STREQUAL rbpi)
18 set(_brcmprefix brcm)
19endif()
20
21if(PKG_CONFIG_FOUND) 17if(PKG_CONFIG_FOUND)
22 pkg_check_modules(PC_EGL ${_brcmprefix}egl QUIET) 18 pkg_check_modules(PC_EGL egl QUIET)
23endif() 19endif()
24 20
25find_path(EGL_INCLUDE_DIR EGL/egl.h 21find_path(EGL_INCLUDE_DIR EGL/egl.h
26 PATHS ${PC_EGL_INCLUDEDIR}) 22 PATHS ${PC_EGL_INCLUDEDIR})
27 23
28find_library(EGL_LIBRARY NAMES ${_brcmprefix}EGL egl 24find_library(EGL_LIBRARY NAMES EGL egl
29 PATHS ${PC_EGL_LIBDIR}) 25 PATHS ${PC_EGL_LIBDIR})
30 26
31set(EGL_VERSION ${PC_EGL_VERSION}) 27set(EGL_VERSION ${PC_EGL_VERSION})
diff --git a/cmake/modules/FindIncludeWhatYouUse.cmake b/cmake/modules/FindIncludeWhatYouUse.cmake
new file mode 100644
index 0000000..b22225a
--- /dev/null
+++ b/cmake/modules/FindIncludeWhatYouUse.cmake
@@ -0,0 +1,26 @@
1#.rst:
2# FindIncludeWhatYouUse
3# ---------------------
4# Finds include-what-you-use and sets it up to run along with the compiler for C and CXX.
5
6find_program(IWYU_EXECUTABLE NAMES include-what-you-use iwyu)
7
8if(IWYU_EXECUTABLE)
9 execute_process(COMMAND "${IWYU_EXECUTABLE}" --version
10 OUTPUT_VARIABLE IWYU_VERSION
11 OUTPUT_STRIP_TRAILING_WHITESPACE)
12 string(REGEX MATCH "[^\n]*include-what-you-use [^\n]*" IWYU_VERSION "${IWYU_VERSION}")
13 string(REGEX REPLACE "include-what-you-use ([^ \n\r\t]+).*" "\\1" IWYU_VERSION "${IWYU_VERSION}")
14endif()
15
16include(FindPackageHandleStandardArgs)
17find_package_handle_standard_args(IncludeWhatYouUse REQUIRED_VARS IWYU_EXECUTABLE
18 VERSION_VAR IWYU_VERSION)
19
20if(INCLUDEWHATYOUUSE_FOUND)
21 # Supports Unix Makefiles and Ninja
22 set(CMAKE_C_INCLUDE_WHAT_YOU_USE "${IWYU_EXECUTABLE}" PARENT_SCOPE)
23 set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE "${IWYU_EXECUTABLE}" PARENT_SCOPE)
24endif()
25
26mark_as_advanced(IWYU_EXECUTABLE)
diff --git a/cmake/modules/FindLibDRM.cmake b/cmake/modules/FindLibDRM.cmake
index 0d680f2..866565d 100644
--- a/cmake/modules/FindLibDRM.cmake
+++ b/cmake/modules/FindLibDRM.cmake
@@ -15,7 +15,7 @@
15# LibDRM::LibDRM - The LibDRM library 15# LibDRM::LibDRM - The LibDRM library
16 16
17if(PKG_CONFIG_FOUND) 17if(PKG_CONFIG_FOUND)
18 pkg_check_modules(PC_LIBDRM libdrm>=2.4.82 QUIET) 18 pkg_check_modules(PC_LIBDRM libdrm>=2.4.95 QUIET)
19endif() 19endif()
20 20
21find_path(LIBDRM_INCLUDE_DIR NAMES drm.h 21find_path(LIBDRM_INCLUDE_DIR NAMES drm.h
diff --git a/cmake/modules/FindLibDvd.cmake b/cmake/modules/FindLibDvd.cmake
index 44e7e92..58a7aab 100644
--- a/cmake/modules/FindLibDvd.cmake
+++ b/cmake/modules/FindLibDvd.cmake
@@ -96,6 +96,16 @@ else()
96 set(LIBDVD_ADDITIONAL_ARGS "-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}" "-DCMAKE_SYSTEM_VERSION=${CMAKE_SYSTEM_VERSION}") 96 set(LIBDVD_ADDITIONAL_ARGS "-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}" "-DCMAKE_SYSTEM_VERSION=${CMAKE_SYSTEM_VERSION}")
97 endif() 97 endif()
98 98
99 set(MAKE_COMMAND $(MAKE))
100 if(CMAKE_GENERATOR STREQUAL Ninja)
101 set(MAKE_COMMAND make)
102 include(ProcessorCount)
103 ProcessorCount(N)
104 if(NOT N EQUAL 0)
105 set(MAKE_COMMAND make -j${N})
106 endif()
107 endif()
108
99 if(ENABLE_DVDCSS) 109 if(ENABLE_DVDCSS)
100 if(NOT CORE_SYSTEM_NAME MATCHES windows) 110 if(NOT CORE_SYSTEM_NAME MATCHES windows)
101 set(DVDCSS_LIBRARY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/lib/libdvdcss.a) 111 set(DVDCSS_LIBRARY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/lib/libdvdcss.a)
@@ -115,6 +125,7 @@ else()
115 "CC=${CMAKE_C_COMPILER}" 125 "CC=${CMAKE_C_COMPILER}"
116 "CFLAGS=${CMAKE_C_FLAGS} ${DVDREAD_CFLAGS}" 126 "CFLAGS=${CMAKE_C_FLAGS} ${DVDREAD_CFLAGS}"
117 "LDFLAGS=${CMAKE_LD_FLAGS}" 127 "LDFLAGS=${CMAKE_LD_FLAGS}"
128 BUILD_COMMAND ${MAKE_COMMAND}
118 BUILD_BYPRODUCTS ${DVDCSS_LIBRARY}) 129 BUILD_BYPRODUCTS ${DVDCSS_LIBRARY})
119 ExternalProject_Add_Step(dvdcss autoreconf 130 ExternalProject_Add_Step(dvdcss autoreconf
120 DEPENDEES download update patch 131 DEPENDEES download update patch
@@ -156,7 +167,8 @@ else()
156 "CC=${CMAKE_C_COMPILER}" 167 "CC=${CMAKE_C_COMPILER}"
157 "CFLAGS=${CMAKE_C_FLAGS} ${DVDREAD_CFLAGS}" 168 "CFLAGS=${CMAKE_C_FLAGS} ${DVDREAD_CFLAGS}"
158 "LDFLAGS=${CMAKE_LD_FLAGS}" 169 "LDFLAGS=${CMAKE_LD_FLAGS}"
159 BUILD_BYPRODUCTS ${DVDREAD_LIBRARY}) 170 BUILD_COMMAND ${MAKE_COMMAND}
171 BUILD_BYPRODUCTS ${DVDREAD_LIBRARY})
160 ExternalProject_Add_Step(dvdread autoreconf 172 ExternalProject_Add_Step(dvdread autoreconf
161 DEPENDEES download update patch 173 DEPENDEES download update patch
162 DEPENDERS configure 174 DEPENDERS configure
@@ -203,6 +215,7 @@ else()
203 "DVDREAD_CFLAGS=${DVDREAD_CFLAGS}" 215 "DVDREAD_CFLAGS=${DVDREAD_CFLAGS}"
204 "DVDREAD_LIBS=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/lib/libdvdread.la" 216 "DVDREAD_LIBS=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/lib/libdvdread.la"
205 "LIBS=${DVDNAV_LIBS}" 217 "LIBS=${DVDNAV_LIBS}"
218 BUILD_COMMAND ${MAKE_COMMAND}
206 BUILD_BYPRODUCTS ${DVDNAV_LIBRARY}) 219 BUILD_BYPRODUCTS ${DVDNAV_LIBRARY})
207 ExternalProject_Add_Step(dvdnav autoreconf 220 ExternalProject_Add_Step(dvdnav autoreconf
208 DEPENDEES download update patch 221 DEPENDEES download update patch
diff --git a/cmake/modules/FindMMAL.cmake b/cmake/modules/FindMMAL.cmake
deleted file mode 100644
index 0b5f556..0000000
--- a/cmake/modules/FindMMAL.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
1# - Try to find MMAL
2# Once done this will define
3#
4# MMAL_FOUND - system has MMAL
5# MMAL_INCLUDE_DIRS - the MMAL include directory
6# MMAL_LIBRARIES - The MMAL libraries
7
8if(PKG_CONFIG_FOUND)
9 pkg_check_modules(PC_MMAL mmal QUIET)
10endif()
11
12
13find_path(MMAL_INCLUDE_DIR NAMES interface/mmal/mmal.h PATHS ${PC_MMAL_INCLUDEDIR})
14find_library(MMAL_LIBRARY NAMES mmal libmmal PATHS ${PC_MMAL_LIBDIR})
15find_library(MMALCORE_LIBRARY NAMES mmal_core libmmal_core PATHS ${PC_MMAL_LIBDIR})
16find_library(MMALUTIL_LIBRARY NAMES mmal_util libmmal_util PATHS ${PC_MMAL_LIBDIR})
17find_library(MMALCLIENT_LIBRARY NAMES mmal_vc_client libmmal_vc_client PATHS ${PC_MMAL_LIBDIR})
18find_library(MMALCOMPONENT_LIBRARY NAMES mmal_components libmmal_components PATHS ${PC_MMAL_LIBDIR})
19find_library(BCM_LIBRARY NAMES bcm_host libbcm_host PATHS ${PC_MMAL_LIBDIR})
20find_library(VCHIQ_LIBRARY NAMES vchiq_arm libvchiq_arm PATHS ${PC_MMAL_LIBDIR})
21find_library(VCHOSTIF_LIBRARY NAMES vchostif libvchostif PATHS ${PC_MMAL_LIBDIR})
22find_library(VCILCS_LIBRARY NAMES vcilcs libvcilcs PATHS ${PC_MMAL_LIBDIR})
23find_library(VCOS_LIBRARY NAMES vcos libvcos PATHS ${PC_MMAL_LIBDIR})
24find_library(VCSM_LIBRARY NAMES vcsm libvcsm PATHS ${PC_MMAL_LIBDIR})
25find_library(CONTAINER_LIBRARY NAMES containers libcontainers PATHS ${PC_MMAL_LIBDIR})
26
27
28include(FindPackageHandleStandardArgs)
29find_package_handle_standard_args(MMAL REQUIRED_VARS MMAL_INCLUDE_DIR
30 MMAL_LIBRARY MMALCORE_LIBRARY MMALUTIL_LIBRARY
31 MMALCLIENT_LIBRARY MMALCOMPONENT_LIBRARY BCM_LIBRARY
32 VCHIQ_LIBRARY VCOS_LIBRARY VCSM_LIBRARY VCHOSTIF_LIBRARY
33 VCILCS_LIBRARY CONTAINER_LIBRARY)
34
35
36if(MMAL_FOUND)
37 set(MMAL_INCLUDE_DIRS ${MMAL_INCLUDE_DIR})
38 set(MMAL_LIBRARIES ${MMAL_LIBRARY} ${MMALCORE_LIBRARY} ${MMALUTIL_LIBRARY}
39 ${MMALCLIENT_LIBRARY} ${MMALCOMPONENT_LIBRARY}
40 ${BCM_LIBRARY} ${VCHIQ_LIBRARY} ${VCOS_LIBRARY} ${VCSM_LIBRARY}
41 ${VCHOSTIF_LIBRARY} ${VCILCS_LIBRARY} ${CONTAINER_LIBRARY}
42 CACHE STRING "mmal libraries" FORCE)
43 list(APPEND MMAL_DEFINITIONS -DHAVE_MMAL=1 -DHAS_MMAL=1)
44
45 if(NOT TARGET MMAL::MMAL)
46 add_library(MMAL::MMAL UNKNOWN IMPORTED)
47 set_target_properties(MMAL::MMAL PROPERTIES
48 IMPORTED_LOCATION "${MMAL_LIBRARIES}"
49 INTERFACE_INCLUDE_DIRECTORIES "${MMAL_INCLUDE_DIR}")
50 endif()
51endif()
52
53mark_as_advanced(MMAL_INCLUDE_DIRS MMAL_LIBRARIES MMAL_DEFINITIONS
54 MMAL_LIBRARY MMALCORE_LIBRARY MMALUTIL_LIBRARY MMALCLIENT_LIBRARY MMALCOMPONENT_LIBRARY BCM_LIBRARY
55 VCHIQ_LIBRARY VCOS_LIBRARY VCSM_LIBRARY VCHOSTIF_LIBRARY VCILCS_LIBRARY CONTAINER_LIBRARY)
diff --git a/cmake/modules/FindOpenGLES.cmake b/cmake/modules/FindOpenGLES.cmake
index 43a1367..3dbaa44 100644
--- a/cmake/modules/FindOpenGLES.cmake
+++ b/cmake/modules/FindOpenGLES.cmake
@@ -10,18 +10,14 @@
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
13if(CORE_PLATFORM_NAME_LC STREQUAL rbpi)
14 set(_brcmprefix brcm)
15endif()
16
17if(PKG_CONFIG_FOUND) 13if(PKG_CONFIG_FOUND)
18 pkg_check_modules(PC_OPENGLES ${_brcmprefix}glesv2 QUIET) 14 pkg_check_modules(PC_OPENGLES glesv2 QUIET)
19endif() 15endif()
20 16
21if(NOT CORE_SYSTEM_NAME STREQUAL darwin_embedded) 17if(NOT CORE_SYSTEM_NAME STREQUAL darwin_embedded)
22 find_path(OPENGLES_INCLUDE_DIR GLES2/gl2.h 18 find_path(OPENGLES_INCLUDE_DIR GLES2/gl2.h
23 PATHS ${PC_OPENGLES_INCLUDEDIR}) 19 PATHS ${PC_OPENGLES_INCLUDEDIR})
24 find_library(OPENGLES_gl_LIBRARY NAMES ${_brcmprefix}GLESv2 20 find_library(OPENGLES_gl_LIBRARY NAMES GLESv2
25 PATHS ${PC_OPENGLES_LIBDIR}) 21 PATHS ${PC_OPENGLES_LIBDIR})
26else() 22else()
27 find_library(OPENGLES_gl_LIBRARY NAMES OpenGLES 23 find_library(OPENGLES_gl_LIBRARY NAMES OpenGLES
diff --git a/cmake/modules/FindPlist.cmake b/cmake/modules/FindPlist.cmake
index 2c86b74..8f9b2d6 100644
--- a/cmake/modules/FindPlist.cmake
+++ b/cmake/modules/FindPlist.cmake
@@ -15,7 +15,7 @@
15# Plist::Plist - The Plist library 15# Plist::Plist - The Plist library
16 16
17if(PKG_CONFIG_FOUND) 17if(PKG_CONFIG_FOUND)
18 pkg_check_modules(PC_PLIST libplist QUIET) 18 pkg_search_module(PC_PLIST libplist-2.0 libplist QUIET)
19endif() 19endif()
20 20
21find_path(PLIST_INCLUDE_DIR plist/plist.h 21find_path(PLIST_INCLUDE_DIR plist/plist.h
@@ -23,7 +23,7 @@ find_path(PLIST_INCLUDE_DIR plist/plist.h
23 23
24set(PLIST_VERSION ${PC_PLIST_VERSION}) 24set(PLIST_VERSION ${PC_PLIST_VERSION})
25 25
26find_library(PLIST_LIBRARY NAMES plist libplist 26find_library(PLIST_LIBRARY NAMES plist-2.0 plist libplist-2.0 libplist
27 PATHS ${PC_PLIST_LIBDIR}) 27 PATHS ${PC_PLIST_LIBDIR})
28 28
29include(FindPackageHandleStandardArgs) 29include(FindPackageHandleStandardArgs)