cmake.bbclass, perlnative.bbclass: arrange for cmake to find perl-native
authorPhil Blundell <philb@gnu.org>
Mon, 15 Aug 2011 16:16:31 +0000 (17:16 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 17 Aug 2011 14:14:54 +0000 (15:14 +0100)
When CMake is looking for perl, it only searches in the specific directories
that it's told about and ignores ${PATH}.  If perlnative is in use, ensure
that the appropriate installation path is added to the list of places that
cmake will look for perl, otherwise it won't ever be found.

(From OE-Core rev: add9e4e30e0b1e0f93479b43ce61953efb90985d)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/cmake.bbclass
meta/classes/perlnative.bbclass

index 89a154f..ab23bed 100644 (file)
@@ -25,6 +25,7 @@ OECMAKE_C_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CPPFLAGS} -DNDEBUG"
 OECMAKE_CXX_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CXXFLAGS} -DNDEBUG"
 
 OECMAKE_RPATH ?= ""
+OECMAKE_PERLNATIVE_DIR ??= ""
 
 cmake_do_generate_toolchain_file() {
        cat > ${WORKDIR}/toolchain.cmake <<EOF
@@ -41,7 +42,7 @@ set( CMAKE_CXX_FLAGS_RELEASE "${OECMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "CXXFLA
 
 # 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} )
+set( CMAKE_FIND_ROOT_PATH ${STAGING_DIR_HOST} ${STAGING_DIR_NATIVE} ${CROSS_DIR} ${OECMAKE_PERLNATIVE_DIR})
 set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
 set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
 set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
index 522344d..2211b72 100644 (file)
@@ -1,2 +1,3 @@
 PATH_prepend = "${STAGING_BINDIR_NATIVE}/perl-native:"
 DEPENDS += "perl-native"
+OECMAKE_PERLNATIVE_DIR = "${STAGING_BINDIR_NATIVE}/perl-native"