diff --git a/Source/GmmLib/CMakeLists.txt b/Source/GmmLib/CMakeLists.txt
index 95d5477..4a25e8e 100644
--- a/Source/GmmLib/CMakeLists.txt
+++ b/Source/GmmLib/CMakeLists.txt
@@ -601,7 +601,16 @@ if(UNIX)
     set(CPACK_PACKAGE_NAME "intel")
     set(CPACK_PACKAGE_VENDOR "Intel Corporation")
     set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Intel(R) Graphics Memory Management Library Package")
-    set(CPACK_PACKAGE_ARCHITECTURE "x86_64")
+    # Architecture-related options
+    if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "aarch64|arm64")
+        set(CPACK_PACKAGE_ARCHITECTURE "arm64")
+        set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "arm64")
+        set(CPACK_RPM_PACKAGE_ARCHITECTURE "arm64")
+    else()
+        set(CPACK_PACKAGE_ARCHITECTURE "x86_64")
+        set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
+        set(CPACK_RPM_PACKAGE_ARCHITECTURE "x86_64")
+    endif()
 
     set(CPACK_PACKAGE_VERSION_MAJOR ${MAJOR_VERSION})
     set(CPACK_PACKAGE_VERSION_MINOR ${MINOR_VERSION})
@@ -612,12 +621,10 @@ if(UNIX)
     set(CPACK_SET_DESTDIR TRUE)
     set(CPACK_PACKAGE_RELOCATABLE FALSE)
 
-    set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
     set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Intel")
     set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
     set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_BINARY_DIR}/postinst;${CMAKE_CURRENT_BINARY_DIR}/postrm")
 
-    set(CPACK_RPM_PACKAGE_ARCHITECTURE "x86_64")
     set(CPACK_RPM_PACKAGE_RELEASE 1)
     set(CPACK_RPM_COMPRESSION_TYPE "xz")
     set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/postinst")