mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-08 16:00:32 +00:00
glog: fixed the build for mips and other platforms
According to build log http://errors.yoctoproject.org/Errors/Details/201286/ FindLibunwind wokred only for x86, arm, and x86_64. This patch extends the cmake module to work with mips, ia64, ppc(64) and other architectures supported by libunwind Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
committed by
Khem Raj
parent
e54d1e86e4
commit
4fe528bef7
@@ -1,11 +1,11 @@
|
|||||||
diff -uNr a/cmake/FindLibunwind.cmake b/cmake/FindLibunwind.cmake
|
diff -uNr a/cmake/FindLibunwind.cmake b/cmake/FindLibunwind.cmake
|
||||||
--- a/cmake/FindLibunwind.cmake 1970-01-01 01:00:00.000000000 +0100
|
--- a/cmake/FindLibunwind.cmake 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/cmake/FindLibunwind.cmake 2018-11-02 14:04:35.460437058 +0100
|
+++ b/cmake/FindLibunwind.cmake 2018-11-20 15:53:48.799078114 +0100
|
||||||
@@ -0,0 +1,37 @@
|
@@ -0,0 +1,54 @@
|
||||||
+# - Try to find libunwind
|
+# - Try to find libunwind
|
||||||
+# Once done this will define
|
+# Once done this will define
|
||||||
+#
|
+#
|
||||||
+# LIBUNWIND_FOUND - system has libunwind
|
+# Libunwind_FOUND - system has libunwind
|
||||||
+# unwind - cmake target for libunwind
|
+# unwind - cmake target for libunwind
|
||||||
+
|
+
|
||||||
+find_library (UNWIND_LIBRARY NAMES unwind DOC "unwind library")
|
+find_library (UNWIND_LIBRARY NAMES unwind DOC "unwind library")
|
||||||
@@ -15,11 +15,24 @@ diff -uNr a/cmake/FindLibunwind.cmake b/cmake/FindLibunwind.cmake
|
|||||||
+
|
+
|
||||||
+if (CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
|
+if (CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
|
||||||
+ set(LIBUNWIND_ARCH "arm")
|
+ set(LIBUNWIND_ARCH "arm")
|
||||||
|
+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64")
|
||||||
|
+ set(LIBUNWIND_ARCH "aarch64")
|
||||||
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR
|
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR
|
||||||
+ CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64")
|
+ CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64" OR
|
||||||
|
+ CMAKE_SYSTEM_PROCESSOR STREQUAL "corei7-64")
|
||||||
+ set(LIBUNWIND_ARCH "x86_64")
|
+ set(LIBUNWIND_ARCH "x86_64")
|
||||||
+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$")
|
+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$")
|
||||||
+ set(LIBUNWIND_ARCH "x86")
|
+ set(LIBUNWIND_ARCH "x86")
|
||||||
|
+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc64")
|
||||||
|
+ set(LIBUNWIND_ARCH "ppc64")
|
||||||
|
+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc")
|
||||||
|
+ set(LIBUNWIND_ARCH "ppc32")
|
||||||
|
+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
|
||||||
|
+ set(LIBUNWIND_ARCH "mips")
|
||||||
|
+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^hppa")
|
||||||
|
+ set(LIBUNWIND_ARCH "hppa")
|
||||||
|
+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^ia64")
|
||||||
|
+ set(LIBUNWIND_ARCH "ia64")
|
||||||
+endif()
|
+endif()
|
||||||
+
|
+
|
||||||
+find_library (UNWIND_LIBRARY_PLATFORM NAMES "unwind-${LIBUNWIND_ARCH}" DOC "unwind library platform")
|
+find_library (UNWIND_LIBRARY_PLATFORM NAMES "unwind-${LIBUNWIND_ARCH}" DOC "unwind library platform")
|
||||||
@@ -35,13 +48,17 @@ diff -uNr a/cmake/FindLibunwind.cmake b/cmake/FindLibunwind.cmake
|
|||||||
+
|
+
|
||||||
+mark_as_advanced (UNWIND_LIBRARY UNWIND_LIBRARY_PLATFORM)
|
+mark_as_advanced (UNWIND_LIBRARY UNWIND_LIBRARY_PLATFORM)
|
||||||
+
|
+
|
||||||
+add_library(unwind INTERFACE IMPORTED)
|
+if (Libunwind_FOUND)
|
||||||
+set_target_properties(unwind PROPERTIES
|
+ add_library(unwind INTERFACE IMPORTED)
|
||||||
+ INTERFACE_LINK_LIBRARIES "${UNWIND_LIBRARY};${UNWIND_LIBRARY_PLATFORM}"
|
+ set_target_properties(unwind PROPERTIES
|
||||||
+)
|
+ INTERFACE_LINK_LIBRARIES "${UNWIND_LIBRARY};${UNWIND_LIBRARY_PLATFORM}"
|
||||||
|
+ )
|
||||||
|
+else()
|
||||||
|
+ message("Can't find libunwind library")
|
||||||
|
+endif()
|
||||||
diff -uNr a/CMakeLists.txt b/CMakeLists.txt
|
diff -uNr a/CMakeLists.txt b/CMakeLists.txt
|
||||||
--- a/CMakeLists.txt 2018-11-02 14:02:21.784835854 +0100
|
--- a/CMakeLists.txt 2018-11-20 15:49:07.576278417 +0100
|
||||||
+++ b/CMakeLists.txt 2018-11-02 14:03:16.796935594 +0100
|
+++ b/CMakeLists.txt 2018-11-20 15:49:32.106819928 +0100
|
||||||
@@ -58,7 +58,6 @@
|
@@ -58,7 +58,6 @@
|
||||||
check_include_file (execinfo.h HAVE_EXECINFO_H)
|
check_include_file (execinfo.h HAVE_EXECINFO_H)
|
||||||
check_include_file (glob.h HAVE_GLOB_H)
|
check_include_file (glob.h HAVE_GLOB_H)
|
||||||
@@ -91,23 +108,13 @@ diff -uNr a/CMakeLists.txt b/CMakeLists.txt
|
|||||||
DESTINATION lib/cmake/glog)
|
DESTINATION lib/cmake/glog)
|
||||||
|
|
||||||
install (EXPORT glog-targets NAMESPACE glog:: DESTINATION lib/cmake/glog)
|
install (EXPORT glog-targets NAMESPACE glog:: DESTINATION lib/cmake/glog)
|
||||||
Binary files a/.git/index and b/.git/index differ
|
|
||||||
diff -uNr a/glog-config.cmake.in b/glog-config.cmake.in
|
diff -uNr a/glog-config.cmake.in b/glog-config.cmake.in
|
||||||
--- a/glog-config.cmake.in 2018-11-02 14:02:21.784835854 +0100
|
--- a/glog-config.cmake.in 2018-11-20 15:49:07.576278417 +0100
|
||||||
+++ b/glog-config.cmake.in 2018-11-02 14:03:16.796935594 +0100
|
+++ b/glog-config.cmake.in 2018-11-20 15:52:32.330418489 +0100
|
||||||
@@ -4,4 +4,15 @@
|
@@ -4,4 +4,6 @@
|
||||||
|
|
||||||
@gflags_DEPENDENCY@
|
@gflags_DEPENDENCY@
|
||||||
|
|
||||||
+# Record the state of the CMake module path when this script was
|
|
||||||
+# called so that we can ensure that we leave it in the same state on
|
|
||||||
+# exit as it was on entry, but modify it locally.
|
|
||||||
+set(UNWIND_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH})
|
|
||||||
+
|
|
||||||
+set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
|
|
||||||
+find_dependency (Libunwind)
|
+find_dependency (Libunwind)
|
||||||
+
|
|
||||||
+# Restore original module path
|
|
||||||
+set(CMAKE_MODULE_PATH "${UNWIND_CMAKE_MODULE_PATH}")
|
|
||||||
+
|
+
|
||||||
include ("${CMAKE_CURRENT_LIST_DIR}/glog-targets.cmake")
|
include ("${CMAKE_CURRENT_LIST_DIR}/glog-targets.cmake")
|
||||||
|
|||||||
Reference in New Issue
Block a user