diff --git a/CMakeLists.txt b/CMakeLists.txt index c3514286..146c03ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -128,9 +128,23 @@ if (BUILDDOC) endif() if (IPK) - message (INFO " - IPK packaging enabled for ${DETECTED_ARCH}") + + # Get target package arch from Yocto ADT sysroot if set or host OS, mapping to Ubuntu name if necessary + if (DEFINED ENV{OECORE_TARGET_SYSROOT}) + GET_FILENAME_COMPONENT (DETECTED_SYSROOT $ENV{OECORE_TARGET_SYSROOT} NAME) + string (REGEX REPLACE "-poky-linux" "" TARGET_ARCH "${DETECTED_SYSROOT}") + else () + # debian uses amd64 to denote x86_64 + if (DETECTED_ARCH STREQUAL "x86_64") + set (TARGET_ARCH "amd64") + else () + set (TARGET_ARCH ${DETECTED_ARCH}) + endif () + endif () + message (INFO " - Package arch is ${TARGET_ARCH}") + set(CPACK_GENERATOR "DEB" "TGZ") - set(OPKG_ARCH ${DETECTED_ARCH}) + set(OPKG_ARCH ${TARGET_ARCH}) set(CPACK_BINARY_DIR ${CMAKE_BINARY_DIR}) set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Intel IoT-Devkit") #required set(upm_PACKAGE_ON_TAG ".") @@ -141,8 +155,8 @@ if (IPK) "${upm_VERSION_MAJOR}.${upm_VERSION_MINOR}.${upm_VERSION_PATCH}${upm_PACKAGE_ON_TAG}${VERSION_COMMIT}") set(CPACK_PACKAGE_NAME "upm") set(CPACK_DEBIAN_PACKAGE_SECTION "libs") - set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${DETECTED_ARCH}) - set(CPACK_SYSTEM_NAME ${DETECTED_ARCH}) + set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${TARGET_ARCH}) + set(CPACK_SYSTEM_NAME ${TARGET_ARCH}) set(CPACK_DEBIAN_PACKAGE_DEPENDS "libmraa0 (>= ${MRAA_VERSION})") set(CPACK_DEBIAN_PACKAGE_PROVIDES "upm-dev, upm-dbg, upm-doc") set(CPACK_DEBIAN_PACKAGE_REPLACES ${CPACK_DEBIAN_PACKAGE_PROVIDES})