diff options
author | Thomas Witt <Thomas.Witt@bmw.de> | 2016-08-22 16:27:11 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-08-23 17:44:42 +0100 |
commit | 7afa09db2e10896c8da91f7d19a569b13e34a7b7 (patch) | |
tree | 029e0831baf3443451c6477e9705eb4e54263932 /meta/classes | |
parent | 5a3947cce1289c72313364f803751e8db30430be (diff) | |
download | poky-7afa09db2e10896c8da91f7d19a569b13e34a7b7.tar.gz |
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>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | 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 b18152a8ed..5203d8aca1 100644 --- a/meta/classes/cmake.bbclass +++ b/meta/classes/cmake.bbclass | |||
@@ -108,15 +108,15 @@ cmake_do_configure() { | |||
108 | ${OECMAKE_SITEFILE} \ | 108 | ${OECMAKE_SITEFILE} \ |
109 | ${OECMAKE_SOURCEPATH} \ | 109 | ${OECMAKE_SOURCEPATH} \ |
110 | -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ | 110 | -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ |
111 | -DCMAKE_INSTALL_BINDIR:PATH=${bindir} \ | 111 | -DCMAKE_INSTALL_BINDIR:PATH=${@os.path.relpath(d.getVar('bindir', True), d.getVar('prefix', True))} \ |
112 | -DCMAKE_INSTALL_SBINDIR:PATH=${sbindir} \ | 112 | -DCMAKE_INSTALL_SBINDIR:PATH=${@os.path.relpath(d.getVar('sbindir', True), d.getVar('prefix', True))} \ |
113 | -DCMAKE_INSTALL_LIBEXECDIR:PATH=${libexecdir} \ | 113 | -DCMAKE_INSTALL_LIBEXECDIR:PATH=${@os.path.relpath(d.getVar('libexecdir', True), d.getVar('prefix', True))} \ |
114 | -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \ | 114 | -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \ |
115 | -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${sharedstatedir} \ | 115 | -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${@os.path.relpath(d.getVar('sharedstatedir', True), d. getVar('prefix', True))} \ |
116 | -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \ | 116 | -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \ |
117 | -DCMAKE_INSTALL_LIBDIR:PATH=${libdir} \ | 117 | -DCMAKE_INSTALL_LIBDIR:PATH=${@os.path.relpath(d.getVar('libdir', True), d.getVar('prefix', True))} \ |
118 | -DCMAKE_INSTALL_INCLUDEDIR:PATH=${includedir} \ | 118 | -DCMAKE_INSTALL_INCLUDEDIR:PATH=${@os.path.relpath(d.getVar('includedir', True), d.getVar('prefix', True))} \ |
119 | -DCMAKE_INSTALL_DATAROOTDIR:PATH=${datadir} \ | 119 | -DCMAKE_INSTALL_DATAROOTDIR:PATH=${@os.path.relpath(d.getVar('datadir', True), d.getVar('prefix', True))} \ |
120 | -DCMAKE_INSTALL_SO_NO_EXE=0 \ | 120 | -DCMAKE_INSTALL_SO_NO_EXE=0 \ |
121 | -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \ | 121 | -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \ |
122 | -DCMAKE_VERBOSE_MAKEFILE=1 \ | 122 | -DCMAKE_VERBOSE_MAKEFILE=1 \ |