summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorRobert Schuster <rschus@entw2.(none)>2009-03-20 13:18:02 +0100
committerRobert Schuster <rschus@entw2.(none)>2009-03-20 13:18:02 +0100
commita17689c0c413caa2e59303f5a4fab0267200ea2f (patch)
treeebf925460fb39da77b3ba65e9df80a7ebda23f96 /classes
parent387c5960a595b922fbb017b5de37feb318ae2dad (diff)
cmake.bbclass: Allow out of tree builds with cmake.
Diffstat (limited to 'classes')
-rw-r--r--classes/cmake.bbclass20
1 files changed, 16 insertions, 4 deletions
diff --git a/classes/cmake.bbclass b/classes/cmake.bbclass
index 8fd25cd7a5..7907f94cc6 100644
--- a/classes/cmake.bbclass
+++ b/classes/cmake.bbclass
@@ -3,13 +3,25 @@ DEPENDS += " cmake-native "
# We want the staging and installing functions from autotools
inherit autotools
+# Use in-tree builds by default but allow this to be changed
+# since some packages do not support them (e.g. llvm 2.5).
OECMAKE_SOURCEPATH ?= "."
+# If declaring this, make sure you also set EXTRA_OEMAKE to
+# "-C ${OECMAKE_BUILDPATH}". So it will run the right makefiles.
+OECMAKE_BUILDPATH ?= ""
+
cmake_do_configure() {
- cmake ${OECMAKE_SOURCEPATH} \
- -DCMAKE_INSTALL_PREFIX:PATH=${prefix} -Wno-dev \
- -DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_HOST} \
- ${EXTRA_OECMAKE}
+ if [ ${OECMAKE_BUILDPATH} ]
+ then
+ mkdir ${OECMAKE_BUILDPATH}
+ cd ${OECMAKE_BUILDPATH}
+ fi
+
+ cmake ${OECMAKE_SOURCEPATH} \
+ -DCMAKE_INSTALL_PREFIX:PATH=${prefix} -Wno-dev \
+ -DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_HOST} \
+ ${EXTRA_OECMAKE}
}
EXPORT_FUNCTIONS do_configure