diff options
-rw-r--r-- | meta/classes-recipe/cmake.bbclass | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/meta/classes-recipe/cmake.bbclass b/meta/classes-recipe/cmake.bbclass index 1e353f660f..3d3781ef33 100644 --- a/meta/classes-recipe/cmake.bbclass +++ b/meta/classes-recipe/cmake.bbclass | |||
@@ -224,12 +224,24 @@ cmake_runcmake_build() { | |||
224 | eval ${DESTDIR:+DESTDIR=${DESTDIR} }${CMAKE_VERBOSE} cmake --build '${B}' "$@" -- ${EXTRA_OECMAKE_BUILD} | 224 | eval ${DESTDIR:+DESTDIR=${DESTDIR} }${CMAKE_VERBOSE} cmake --build '${B}' "$@" -- ${EXTRA_OECMAKE_BUILD} |
225 | } | 225 | } |
226 | 226 | ||
227 | # Install an already-generated project binary tree. Not checking the compile | ||
228 | # dependencies again is particularly important for SDK use cases. | ||
229 | cmake_runcmake_install() { | ||
230 | bbnote ${DESTDIR:+DESTDIR=${DESTDIR} }${CMAKE_VERBOSE} cmake --install '${B}' | ||
231 | eval ${DESTDIR:+DESTDIR=${DESTDIR} }${CMAKE_VERBOSE} cmake --install '${B}' | ||
232 | } | ||
233 | |||
227 | cmake_do_compile() { | 234 | cmake_do_compile() { |
228 | cmake_runcmake_build --target ${OECMAKE_TARGET_COMPILE} | 235 | cmake_runcmake_build --target ${OECMAKE_TARGET_COMPILE} |
229 | } | 236 | } |
230 | 237 | ||
231 | cmake_do_install() { | 238 | cmake_do_install() { |
232 | DESTDIR='${D}' cmake_runcmake_build --target ${OECMAKE_TARGET_INSTALL} | 239 | if [ "${OECMAKE_TARGET_INSTALL}" = "install" ]; then |
240 | DESTDIR='${D}' cmake_runcmake_install | ||
241 | else | ||
242 | # Legacy path which supports also custom install targets | ||
243 | DESTDIR='${D}' cmake_runcmake_build --target ${OECMAKE_TARGET_INSTALL} | ||
244 | fi | ||
233 | } | 245 | } |
234 | 246 | ||
235 | EXPORT_FUNCTIONS do_configure do_compile do_install do_generate_toolchain_file | 247 | EXPORT_FUNCTIONS do_configure do_compile do_install do_generate_toolchain_file |