cmake.bbclass: Allow out of tree builds with cmake.
authorRobert Schuster <rschus@entw2.(none)>
Fri, 20 Mar 2009 12:18:02 +0000 (13:18 +0100)
committerRobert Schuster <rschus@entw2.(none)>
Fri, 20 Mar 2009 12:18:02 +0000 (13:18 +0100)
classes/cmake.bbclass

index 8fd25cd..7907f94 100644 (file)
@@ -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