cmake.bbclass: remove unneded cd ${B}
PATCH v2 1/2 cmake.bbclass: remove unneded cd ${B}
The default dir for do_compile & do_configure is already ${B}, no need to cd (other than broken appends)
--- meta/classes/cmake.bbclass | 2 -- 1 file changed, 2 deletions(-)
meta/classes/cmake.bbclass +0 -2
@@ -135,12 +135,10 @@ cmake_do_configure() { do_compile[progress] = "percent" cmake_do_compile() { - cd ${B} base_do_compile VERBOSE=1 } cmake_do_install() { - cd ${B} oe_runmake 'DESTDIR=${D}' install }
Signature · 1 line
2.12.2
PATCH v2 2/2 cmake.bbclass: use `cmake --build` to build & install
Rather than presuming make is the generator, use cmake's generic cmake --build feature (which knows to call the appropriate generator).
Both DESTDIR and VERBOSE still behave as intended when used as environment variables instead of make variable-arguments.
As cmake-based builds don't do any configuration with make invocations, we only pass PARALLEL_MAKE{,INST} (via a EXTRA_OECMAKE_BUILD variable) to the underlying build tool. Make & ninja support the same -j N option (and a few others), so this does happen to work for both.
This makes it more straight forward for others to select other cmake generators (many folks have been reaching for ninja lately).
--- meta/classes/cmake.bbclass | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
meta/classes/cmake.bbclass +7 -2
@@ -31,6 +31,9 @@ OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM_class-native = "BOTH" EXTRA_OECMAKE_append = " ${PACKAGECONFIG_CONFARGS}" +EXTRA_OECMAKE_BUILD_prepend_task-compile = "${PARALLEL_MAKE} " +EXTRA_OECMAKE_BUILD_prepend_task-install = "${PARALLEL_MAKEINST} " + # CMake expects target architectures in the format of uname(2), # which do not always match TARGET_ARCH, so all the necessary # conversions should happen here.
@@ -135,11 +138,13 @@ cmake_do_configure() { do_compile[progress] = "percent" cmake_do_compile() { - base_do_compile VERBOSE=1 + bbnote VERBOSE=1 cmake --build '${B}' -- ${EXTRA_OECMAKE_BUILD} + VERBOSE=1 cmake --build '${B}' -- ${EXTRA_OECMAKE_BUILD} } cmake_do_install() { - oe_runmake 'DESTDIR=${D}' install + bbnote DESTDIR='${D}' cmake --build '${B}' --target install -- ${EXTRA_OECMAKE_BUILD} + DESTDIR='${D}' cmake --build '${B}' --target install -- ${EXTRA_OECMAKE_BUILD} } EXPORT_FUNCTIONS do_configure do_compile do_install do_generate_toolchain_file
Signature · 1 line
2.12.2