opencv: Fix build with clang

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj
2018-09-11 18:29:49 -07:00
parent 76bc58e932
commit aee5ef8906
3 changed files with 64 additions and 0 deletions
@@ -0,0 +1,32 @@
From fa76d8646bb2b9b514728eeef41afed7c43a36f2 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 11 Sep 2018 18:18:33 -0700
Subject: [PATCH] Check for clang before using -isystem
When cross compiling with clang, the internal C++ headers are not found
when adding sysroot to -isystem, that is redundant anyway because it
will look for headers insider --sysroot path with same quality as it
would do with -isystem otherwise
Upstream-Status: Submitted [https://github.com/opencv/opencv/pull/12504]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
cmake/OpenCVUtils.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake
index fae91c165f..60c20192dc 100644
--- a/cmake/OpenCVUtils.cmake
+++ b/cmake/OpenCVUtils.cmake
@@ -259,7 +259,7 @@ function(ocv_include_directories)
ocv_is_opencv_directory(__is_opencv_dir "${dir}")
if(__is_opencv_dir)
list(APPEND __add_before "${dir}")
- elseif(CV_GCC AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0" AND
+ elseif(((CV_GCC AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0") OR CV_CLANG) AND
dir MATCHES "/usr/include$")
# workaround for GCC 6.x bug
else()
--
2.18.0
@@ -0,0 +1,30 @@
From 7144c44ec70dee73a628463b99ffeed74b1a8ef6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 11 Sep 2018 00:21:18 -0700
Subject: [PATCH] Dont use isystem
clang really does not like it
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
cmake/OpenCVPCHSupport.cmake | 2 ++
1 file changed, 2 insertions(+)
diff --git a/cmake/OpenCVPCHSupport.cmake b/cmake/OpenCVPCHSupport.cmake
index f9b1b48b65..fe27a136f5 100644
--- a/cmake/OpenCVPCHSupport.cmake
+++ b/cmake/OpenCVPCHSupport.cmake
@@ -18,6 +18,8 @@ IF(CV_GCC)
SET(PCHSupport_FOUND TRUE)
ENDIF()
+ SET(CMAKE_INCLUDE_SYSTEM_FLAG_C "-I")
+ SET(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-I")
SET(_PCH_include_prefix "-I")
SET(_PCH_isystem_prefix "-isystem")
SET(_PCH_define_prefix "-D")
--
2.18.0
@@ -51,6 +51,8 @@ SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \
file://0003-To-fix-errors-as-following.patch \
file://fixpkgconfig.patch \
file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
file://0001-Dont-use-isystem.patch \
file://0001-Check-for-clang-before-using-isystem.patch \
"
PV = "3.4.3+git${SRCPV}"