mirror of
https://git.yoctoproject.org/poky
synced 2026-04-20 00:32:13 +02:00
cmake: refactor compile and install for easier re-use
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 <andre.draszik@jci.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
10a51d758f
commit
02fa98e663
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user