diff options
| author | Ross Burton <ross.burton@intel.com> | 2014-06-24 21:21:32 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-06-25 13:51:46 +0100 |
| commit | f3d2e32a144ae10705db8cfdb945661f04222eae (patch) | |
| tree | f5e610cf0e407b52d379f95f67463f4a903e2e06 | |
| parent | 540b7a196a00c4dc1bf8f7c87e68e80ab310756e (diff) | |
| download | poky-f3d2e32a144ae10705db8cfdb945661f04222eae.tar.gz | |
cmake.bbclass: restore OECMAKE_SOURCEPATH
Some packages put their CMakeLists.txt file in a subdirectory, so assuming that
it is in ${S} won't work.
Restore OECMAKE_SOURCEPATH (defaulting to ${S}) so that the location of
CMakeLists.txt can be set if required.
Based on a patch by Miroslav Keš <miroslav.kes@gmail.com>
(From OE-Core rev: 2c23d7ab913a636aa0ab6a6e899cf6211d1e2714)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/classes/cmake.bbclass | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass index c9c15f3076..ab2adec782 100644 --- a/meta/classes/cmake.bbclass +++ b/meta/classes/cmake.bbclass | |||
| @@ -1,3 +1,6 @@ | |||
| 1 | # Path to the CMake file to process. | ||
| 2 | OECMAKE_SOURCEPATH ?= "${S}" | ||
| 3 | |||
| 1 | DEPENDS_prepend = "cmake-native " | 4 | DEPENDS_prepend = "cmake-native " |
| 2 | B = "${WORKDIR}/build" | 5 | B = "${WORKDIR}/build" |
| 3 | 6 | ||
| @@ -65,8 +68,8 @@ EOF | |||
| 65 | addtask generate_toolchain_file after do_patch before do_configure | 68 | addtask generate_toolchain_file after do_patch before do_configure |
| 66 | 69 | ||
| 67 | cmake_do_configure() { | 70 | cmake_do_configure() { |
| 68 | if [ "${OECMAKE_BUILDPATH}" -o "${OECMAKE_SOURCEPATH}" ]; then | 71 | if [ "${OECMAKE_BUILDPATH}" ]; then |
| 69 | bbnote "cmake.bbclass no longer uses OECMAKE_SOURCEPATH and OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build." | 72 | bbnote "cmake.bbclass no longer uses OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build." |
| 70 | fi | 73 | fi |
| 71 | 74 | ||
| 72 | if [ "${S}" != "${B}" ]; then | 75 | if [ "${S}" != "${B}" ]; then |
| @@ -84,7 +87,7 @@ cmake_do_configure() { | |||
| 84 | 87 | ||
| 85 | cmake \ | 88 | cmake \ |
| 86 | ${OECMAKE_SITEFILE} \ | 89 | ${OECMAKE_SITEFILE} \ |
| 87 | ${S} \ | 90 | ${OECMAKE_SOURCEPATH} \ |
| 88 | -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ | 91 | -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ |
| 89 | -DCMAKE_INSTALL_BINDIR:PATH=${bindir} \ | 92 | -DCMAKE_INSTALL_BINDIR:PATH=${bindir} \ |
| 90 | -DCMAKE_INSTALL_SBINDIR:PATH=${sbindir} \ | 93 | -DCMAKE_INSTALL_SBINDIR:PATH=${sbindir} \ |
