From 02fa98e66333cf0b5ab41dc5b05b7b8370540725 Mon Sep 17 00:00:00 2001 From: André Draszik Date: Fri, 23 Feb 2018 14:50:13 +0000 Subject: cmake: refactor compile and install for easier re-use MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cmake_do_compile() and cmake_do_install() basically do the same, except they use a different --target, and at the moment this is copy/pasted code with a minor modification. Other recipes which e.g. might want to support compilation as part of ptest have to do the same. This is a bit inconvenient. By factoring out all of this into a common helper, cmake_runcmake_build(), this is easily re-used. An (imaginary) recipe can compile ptest support simply by using cmake_runcmake_build --target buildtest-TESTS (assuming such a build target exists). Also, this now is very similar to oe_runmake(). (From OE-Core rev: 7620dafe7358f017a8cd558b480af73896768f04) Signed-off-by: André Draszik Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/cmake.bbclass | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass index d60dad8d66..fcfd5dda4f 100644 --- a/meta/classes/cmake.bbclass +++ b/meta/classes/cmake.bbclass @@ -159,14 +159,17 @@ cmake_do_configure() { -Wno-dev } +cmake_runcmake_build() { + bbnote ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}' "$@" -- ${EXTRA_OECMAKE_BUILD} + eval ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}' "$@" -- ${EXTRA_OECMAKE_BUILD} +} + cmake_do_compile() { - bbnote VERBOSE=1 cmake --build '${B}' --target ${OECMAKE_TARGET_COMPILE} -- ${EXTRA_OECMAKE_BUILD} - VERBOSE=1 cmake --build '${B}' --target ${OECMAKE_TARGET_COMPILE} -- ${EXTRA_OECMAKE_BUILD} + cmake_runcmake_build --target ${OECMAKE_TARGET_COMPILE} } cmake_do_install() { - bbnote DESTDIR='${D}' cmake --build '${B}' --target ${OECMAKE_TARGET_INSTALL} -- ${EXTRA_OECMAKE_BUILD} - DESTDIR='${D}' cmake --build '${B}' --target ${OECMAKE_TARGET_INSTALL} -- ${EXTRA_OECMAKE_BUILD} + DESTDIR='${D}' cmake_runcmake_build --target ${OECMAKE_TARGET_INSTALL} } EXPORT_FUNCTIONS do_configure do_compile do_install do_generate_toolchain_file -- cgit v1.2.3-54-g00ecf