CMakeLists.txt: Set correct package architecture for deb and ipk.
authorHenry Bruce <henry.bruce@intel.com>
Wed, 11 Mar 2015 19:43:47 +0000 (12:43 -0700)
committerBrendan Le Foll <brendan.le.foll@intel.com>
Tue, 31 Mar 2015 12:56:29 +0000 (13:56 +0100)
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
CMakeLists.txt

index ced1060..ba2fdb0 100644 (file)
@@ -89,8 +89,22 @@ if (BUILDDOC)
 endif ()
 
 if (IPK)
+  # 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(mraa_PACKAGE_ON_TAG ".")
@@ -101,8 +115,8 @@ if (IPK)
       "${mraa_VERSION_MAJOR}.${mraa_VERSION_MINOR}.${mraa_VERSION_PATCH}${mraa_PACKAGE_ON_TAG}${VERSION_COMMIT}")
   set(CPACK_PACKAGE_NAME "libmraa${mraa_VERSION_MAJOR}")
   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_PROVIDES "libmraa-dev, libmraa-dbg, libmraa-doc")
   set(CPACK_DEBIAN_PACKAGE_REPLACES ${CPACK_DEBIAN_PACKAGE_PROVIDES})
   set(CPACK_DEBIAN_PACKAGE_CONFLICTS ${CPACK_DEBIAN_PACKAGE_PROVIDES})