From: Kai Kang Date: Fri, 23 Apr 2021 03:29:03 +0000 (+0800) Subject: cmake.bbclass: remove ${B} before cmake_do_configure X-Git-Tag: 2021-04.1-hardknott~52 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=db6a315e5f6de02e226e582f878a83c427fd87cc;p=openembedded-core.git cmake.bbclass: remove ${B} before cmake_do_configure It is fallible to remove ${B} in directory ${B} itself. And it does fail when call bitbake by third-party wrapper script. Use flag 'cleandirs' to remove ${B} first if build out of source tree. Signed-off-by: Kai Kang Signed-off-by: Richard Purdie (cherry picked from commit 0fb6280432a36985590d9a714a5f11164aaebb51) Signed-off-by: Anuj Mittal --- diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass index 8876ce5aa5..f01db7480b 100644 --- a/meta/classes/cmake.bbclass +++ b/meta/classes/cmake.bbclass @@ -149,16 +149,14 @@ addtask generate_toolchain_file after do_patch before do_configure CONFIGURE_FILES = "CMakeLists.txt" +do_configure[cleandirs] = "${@d.getVar('B') if d.getVar('S') != d.getVar('B') else ''}" + cmake_do_configure() { if [ "${OECMAKE_BUILDPATH}" ]; then bbnote "cmake.bbclass no longer uses OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build." fi - if [ "${S}" != "${B}" ]; then - rm -rf ${B} - mkdir -p ${B} - cd ${B} - else + if [ "${S}" = "${B}" ]; then find ${B} -name CMakeFiles -or -name Makefile -or -name cmake_install.cmake -or -name CMakeCache.txt -delete fi