[gnome-continuous-yocto/gnomeostree-3.28-rocko: 2042/8267] cmake.bbclass: call cmake with a relative path



commit 7afa09db2e10896c8da91f7d19a569b13e34a7b7
Author: Thomas Witt <Thomas Witt bmw de>
Date:   Mon Aug 22 16:27:11 2016 +0200

    cmake.bbclass: call cmake with a relative path
    
    CMake wants a relative path for CMAKE_INSTALL_*DIR, an absolute path
    breaks cross-compilation. This fact is documented in the following
    ticket: https://cmake.org/Bug/view.php?id=14367
    
    $sysconfdir and $localstatedir are not relative to $prefix, so they are
    still set as absolute paths. With his change ${PROJECT}Targets.cmake
    that are generated by cmakes "export" function will contain relative
    paths instead of absolute ones.
    
    (From OE-Core rev: c03b32bd71dbe04f2f239556fea0b53215e403d7)
    
    Signed-off-by: Thomas Witt <Thomas Witt bmw de>
    Signed-off-by: Clemens Lang <clemens lang bmw-carit de>
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 meta/classes/cmake.bbclass |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)
---
diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
index b18152a..5203d8a 100644
--- a/meta/classes/cmake.bbclass
+++ b/meta/classes/cmake.bbclass
@@ -108,15 +108,15 @@ cmake_do_configure() {
          ${OECMAKE_SITEFILE} \
          ${OECMAKE_SOURCEPATH} \
          -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
-         -DCMAKE_INSTALL_BINDIR:PATH=${bindir} \
-         -DCMAKE_INSTALL_SBINDIR:PATH=${sbindir} \
-         -DCMAKE_INSTALL_LIBEXECDIR:PATH=${libexecdir} \
+         -DCMAKE_INSTALL_BINDIR:PATH=${@os.path.relpath(d.getVar('bindir', True), d.getVar('prefix', True))} 
\
+         -DCMAKE_INSTALL_SBINDIR:PATH=${@os.path.relpath(d.getVar('sbindir', True), d.getVar('prefix', 
True))} \
+         -DCMAKE_INSTALL_LIBEXECDIR:PATH=${@os.path.relpath(d.getVar('libexecdir', True), d.getVar('prefix', 
True))} \
          -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \
-         -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${sharedstatedir} \
+         -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${@os.path.relpath(d.getVar('sharedstatedir', True), d.  
getVar('prefix', True))} \
          -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \
-         -DCMAKE_INSTALL_LIBDIR:PATH=${libdir} \
-         -DCMAKE_INSTALL_INCLUDEDIR:PATH=${includedir} \
-         -DCMAKE_INSTALL_DATAROOTDIR:PATH=${datadir} \
+         -DCMAKE_INSTALL_LIBDIR:PATH=${@os.path.relpath(d.getVar('libdir', True), d.getVar('prefix', True))} 
\
+         -DCMAKE_INSTALL_INCLUDEDIR:PATH=${@os.path.relpath(d.getVar('includedir', True), d.getVar('prefix', 
True))} \
+         -DCMAKE_INSTALL_DATAROOTDIR:PATH=${@os.path.relpath(d.getVar('datadir', True), d.getVar('prefix', 
True))} \
          -DCMAKE_INSTALL_SO_NO_EXE=0 \
          -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
          -DCMAKE_VERBOSE_MAKEFILE=1 \


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]