Cmake 如何使用CPackDeb?
使用CPackDeb时我会错过什么?(cmake版本3.5.1) 例如,如果我想找出Cmake 如何使用CPackDeb?,cmake,cpack,Cmake,Cpack,使用CPackDeb时我会错过什么?(cmake版本3.5.1) 例如,如果我想找出CPACK\u DEBIAN\u PACKAGE\u ARCHITECTURE,则返回一个空字符串。如果我克隆相应的代码,一切都会按预期进行。还有,其他 特定的变量似乎不起作用,而且我的KDevelop也没有突出显示它们 由于使用include(CPackDeb)会导致错误消息CPackDeb.cmake只能由CPack内部使用,因此我认为有其他方法(缺少参数?)来激活它。是您(作为包作者)谁应该设置CPACK_
CPACK\u DEBIAN\u PACKAGE\u ARCHITECTURE
,则返回一个空字符串。如果我克隆相应的代码,一切都会按预期进行。还有,其他
特定的变量似乎不起作用,而且我的KDevelop也没有突出显示它们
由于使用
include(CPackDeb)
会导致错误消息CPackDeb.cmake只能由CPack内部使用
,因此我认为有其他方法(缺少参数?)来激活它。是您(作为包作者)谁应该设置CPACK_DEBIAN_PACKAGE_架构和列出的其他DEB生成器特定变量。其中一些变量具有默认值,如果未提供值,则使用默认值。但是,当您调用include(CPack)
时,这些值不是预设的。文档中包含“默认:dpkg的输出–打印体系结构(如果找不到dpkg,则为i386)”,实际上,这在代码中是存在的。当我依赖于默认值时,它只是一个空字符串。同样,这是一个默认值,由DEB生成器(内部)使用,但它不提供给用户。至于代码,行:elseif(不是CPACK\u DEBIAN\u PACKAGE\u架构)
清楚地告诉我们:只有在之前没有设置(用户)的情况下,变量才会设置为默认值。这是不会发生的:如果我只使用set(CPACK\u PACKAGE\u FILE\u NAME)${CPACK CPACK u PACKAGE\u NAME}-${CPACK PACKAGE\u VERSION}-Linux-${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}”)
,不定义它,依赖于CPackDeb应该设置的默认值,${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}
是一个空字符串。再次说明:您无法从CPACK\u DEBIAN\u PACKAGE\u ARCHITECTURE
中提取默认值:此值是在执行代码后设置的。如果您希望由dpkg–print ARCHITECTURE
返回值,您可以使用execute\u process
命令手动获取。您就是(作为包作者)谁应该设置CPACK\u DEBIAN\u PACKAGE\u ARCHITECTURE
和列出的其他DEB生成器特定变量。其中一些变量具有默认值,如果没有提供值,则使用默认值。但是在调用include(CPACK)
时,这些值不是预设的。文档包含“默认:dpkg的输出–打印体系结构”(如果没有找到dpkg,则为i386)“实际上,这在代码中是存在的。当我依赖于该默认值时,它只是一个空字符串。同样,这是一个默认值,由DEB生成器(内部)使用,但不向用户显示。对于代码,行:elseif(不是CPACK\u DEBIAN\u PACKAGE\u架构)
清楚地说明了这一点:变量只有在之前未设置(用户)时才设置为默认值。这是不会发生的:如果我只使用set(CPACK\u PACKAGE\u FILE\u NAME“${CPACK\u PACKAGE\u NAME}-${CPACK\u PACKAGE\u VERSION}-Linux-${CPACK u DEBIAN\u PACKAGE\u ARCHITECTURE}”)
,不定义它,依赖于CPackDeb应该设置的默认值,${CPACK\u DEBIAN\u PACKAGE\u ARCHITECTURE}
是一个空字符串。再次说明:您无法从CPACK\u DEBIAN\u PACKAGE\u ARCHITECTURE
中提取默认值:此值是在代码执行后设置的。如果您希望由dpkg–print ARCHITECTURE
返回值,可以使用execute\u process
命令手动获取。