cmake.bbclass: search both sysroot-native and host for native packages
PATCH 1/1 cmake.bbclass: search both sysroot-native and host for native packages
Certain headers and libraries like math.h an -m are only available on the host as they are provided by the host toolchain.
This leads to issues that a find_library in CMake doesn't find the m library of a find_path doesn't find math.h. This issue occurred in the wireshark recipe for example.
This change enables CMake to also look on the host for libraries and includes when building a native package.
--- meta/classes/cmake.bbclass | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
meta/classes/cmake.bbclass +6 -6
@@ -43,8 +43,8 @@ OECMAKE_RPATH ?= "" OECMAKE_PERLNATIVE_DIR ??= "" OECMAKE_EXTRA_ROOT_PATH ?= "" -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "ONLY" -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM_class-native = "BOTH" +OECMAKE_FIND_ROOT_PATH_MODE = "ONLY" +OECMAKE_FIND_ROOT_PATH_MODE_class-native = "BOTH" EXTRA_OECMAKE_append = " ${PACKAGECONFIG_CONFARGS}"
@@ -93,10 +93,10 @@ set( CMAKE_CXX_LINK_FLAGS "${OECMAKE_CXX_LINK_FLAGS}" CACHE STRING "LDFLAGS" ) # only search in the paths provided so cmake doesnt pick # up libraries and tools from the native build machine set( CMAKE_FIND_ROOT_PATH ${STAGING_DIR_HOST} ${STAGING_DIR_NATIVE} ${CROSS_DIR} ${OECMAKE_PERLNATIVE_DIR} ${OECMAKE_EXTRA_ROOT_PATH} ${EXTERNAL_TOOLCHAIN}) -set( CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY ) -set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ${OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM} ) -set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) -set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) +set( CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ${OECMAKE_FIND_ROOT_PATH_MODE} ) +set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ${OECMAKE_FIND_ROOT_PATH_MODE} ) +set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ${OECMAKE_FIND_ROOT_PATH_MODE} ) +set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ${OECMAKE_FIND_ROOT_PATH_MODE} ) $cmake_sysroot
Signature · 1 line
2.11.0
✗ patchtest: failure for cmake.bbclass: search both sysroot-native and host for native packages
== Series Details ==
Series: cmake.bbclass: search both sysroot-native and host for native packages
Revision: 1
URL : https://patchwork.openembedded.org/series/14431/
State : failure
== Summary ==
Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures:
* Issue Series does not apply on top of target branch [test_series_merge_on_head]
Suggested fix Rebase your series on top of targeted branch
Targeted branch master (currently at 9a84114a27)
If you believe any of these test results are incorrect, please reply to the mailing list ([email protected]) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...).
---
Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe
All but this one apply now... weird.
If you can rebase on top of poky-contrib:ross/thud then that would be great.
Ross
Quoted 62 lines · Pascal Bach
Certain headers and libraries like
math.han-mare only available on the
host as they are provided by the host toolchain.This leads to issues that a
find_libraryin CMake doesn't find themlibrary
of afind_pathdoesn't findmath.h. This issue occurred in the wireshark recipe
for example.This change enables CMake to also look on the host for libraries and includes when
building a native package.Signed-off-by Pascal Bach <[email protected]>--- meta/classes/cmake.bbclass | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)meta/classes/cmake.bbclass +6
-7@@ -43,8 +43,8 @@ OECMAKE_RPATH ?= "" OECMAKE_PERLNATIVE_DIR ??= "" OECMAKE_EXTRA_ROOT_PATH ?= "" -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "ONLY" -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM_class-native = "BOTH" +OECMAKE_FIND_ROOT_PATH_MODE = "ONLY" +OECMAKE_FIND_ROOT_PATH_MODE_class-native = "BOTH" EXTRA_OECMAKE_append = " ${PACKAGECONFIG_CONFARGS}"@@ -93,10 +93,10 @@ set( CMAKE_CXX_LINK_FLAGS "${OECMAKE_CXX_LINK_FLAGS}" CACHE STRING "LDFLAGS" ) # only search in the paths provided so cmake doesnt pick # up libraries and tools from the native build machine set( CMAKE_FIND_ROOT_PATH ${STAGING_DIR_HOST} ${STAGING_DIR_NATIVE} ${CROSS_DIR} ${OECMAKE_PERLNATIVE_DIR} ${OECMAKE_EXTRA_ROOT_PATH} ${EXTERNAL_TOOLCHAIN}) -set( CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY ) -set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ${OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM} ) -set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) -set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) +set( CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ${OECMAKE_FIND_ROOT_PATH_MODE} ) +set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ${OECMAKE_FIND_ROOT_PATH_MODE} ) +set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ${OECMAKE_FIND_ROOT_PATH_MODE} ) +set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ${OECMAKE_FIND_ROOT_PATH_MODE} ) $cmake_sysroot --2.11.0
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
I re submitted all 4 patches a series.
Sorry for the inconvenience, I miss-judged the conflicts between the patches.
Passcal
Quoted 62 lines · Ross
All but this one apply now... weird.
If you can rebase on top of poky-contrib:ross/thud then that would be great.
Ross
On Tue, 9 Oct 2018 at 15:07, Pascal Bach <[email protected] <mailto:[email protected]>> wrote:
Certain headers and libraries like
math.han-mare only available on the host as they are provided by the host toolchain.This leads to issues that a
find_libraryin CMake doesn't find themlibrary of afind_pathdoesn't findmath.h. This issue occurred in the wireshark recipe for example.This change enables CMake to also look on the host for libraries and includes when building a native package.
Signed-off-by Pascal Bach <[email protected] <mailto:[email protected]>>---
meta/classes/cmake.bbclass | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass index
6e2c34e4c6..89a2a77a50100644
--- a/meta/classes/cmake.bbclass
+++ b/meta/classes/cmake.bbclass
@@ -43,8 +43,8 @@OECMAKE_RPATH?= ""OECMAKE_PERLNATIVE_DIR??= ""
OECMAKE_EXTRA_ROOT_PATH ?= ""-OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "ONLY" -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM_class-native = "BOTH" +OECMAKE_FIND_ROOT_PATH_MODE = "ONLY" +OECMAKE_FIND_ROOT_PATH_MODE_class-native = "BOTH"
EXTRA_OECMAKE_append = " ${PACKAGECONFIG_CONFARGS}"
@@ -93,10 +93,10 @@
set( CMAKE_CXX_LINK_FLAGS "${OECMAKE_CXX_LINK_FLAGS}" CACHE STRING "LDFLAGS" )
# only search in the paths provided so cmake doesnt pick
# up libraries and tools from the native build machine
set(CMAKE_FIND_ROOT_PATH${STAGING_DIR_HOST} ${STAGING_DIR_NATIVE} ${CROSS_DIR} ${OECMAKE_PERLNATIVE_DIR} ${OECMAKE_EXTRA_ROOT_PATH} ${EXTERNAL_TOOLCHAIN}) -set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGEONLY )
-set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM${OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM} )
-set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARYONLY )
-set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDEONLY )
+set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE${OECMAKE_FIND_ROOT_PATH_MODE} )
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM${OECMAKE_FIND_ROOT_PATH_MODE} )
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY${OECMAKE_FIND_ROOT_PATH_MODE} )
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE${OECMAKE_FIND_ROOT_PATH_MODE} )$cmake_sysroot
--
2.11.0--
_______________________________________________
Openembedded-core mailing list
[email protected] <mailto:[email protected]>
http://lists.openembedded.org/mailman/listinfo/openembedded-core