浏览代码

ENH: remove hard codeded arch

Bill Hoffman 17 年之前
父节点
当前提交
79e581ab80
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      Modules/CPackDeb.cmake

+ 5 - 1
Modules/CPackDeb.cmake

@@ -36,7 +36,11 @@ ENDIF(NOT CPACK_DEBIAN_PACKAGE_VERSION)
 IF(NOT CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
 IF(NOT CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
   # There is no such thing as i686 architecture on debian, you should use i386 instead
   # There is no such thing as i686 architecture on debian, you should use i386 instead
   # $ dpkg --print-architecture
   # $ dpkg --print-architecture
-  EXECUTE_PROCESS(COMMAND dpkg --print-architecture
+  FIND_PROGRAM(DPKG_CMD dpkg)
+  IF(NOT DPKG_CMD)
+    MESSAGE(FATAL_ERROR "Can not find dpkg in your path.")
+  ENDIF(NOT DPKG_CMD)
+  EXECUTE_PROCESS(COMMAND "${DPKG_CMD}" --print-architecture
     OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
     OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
 ENDIF(NOT CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
 ENDIF(NOT CPACK_DEBIAN_PACKAGE_ARCHITECTURE)