首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >生成项目后运行CPack时出现奇怪的错误。

生成项目后运行CPack时出现奇怪的错误。
EN

Stack Overflow用户
提问于 2015-02-10 07:03:32
回答 1查看 2.8K关注 0票数 2

我有以下非常简单的项目:

CMakeLists.txt

代码语言:javascript
代码运行次数:0
运行
复制
cmake_minimum_required(VERSION 2.8.6)
project(myapp)

add_executable(myapp myapp.cpp)
install(TARGETS myapp RUNTIME DESTINATION bin)

set(CPACK_PACKAGE_NAME "MyApp")
set(CPACK_PACKAGE_VERSION_MAJOR 1)
set(CPACK_PACKAGE_VERSION_MINOR 0)
set(CPACK_PACKAGE_VERSION_PATCH 0)
set(CPACK_INSTALL_SCRIPT DoSomething.cmake)

include(CPack)

myapp.cpp:

代码语言:javascript
代码运行次数:0
运行
复制
#include <iostream>

int main()
{
    std::cout << "Hello, world!" << std::endl;
}

DoSomething.cmake

代码语言:javascript
代码运行次数:0
运行
复制
message(WARNING "This message should be displayed.")

该项目构建良好,但当我尝试运行CPack时遇到了问题:

代码语言:javascript
代码运行次数:0
运行
复制
nathan@nathan-desktop:/tmp/myapp/build$ cpack
CPack: Create package using STGZ
CPack: Install projects
CPack: - Install scripts: DoSomething.cmake
CPack: - Install script: DoSomething.cmake
CPack Error: Error when generating package: MyApp

这是什么意思?是什么错误?CPack似乎没有生成任何日志,也没有提供任何进一步的细节。注释掉DoSomething.cmake的内容似乎没有任何区别。

根据文献资料

CPACK_INSTALL_SCRIPT 用户提供的额外CMake脚本。 如果设置,CMake脚本将由CPack在其本地CPack-私有安装过程中执行,该安装是在打包文件之前完成的。脚本不被调用,例如:。

为什么我的包不生成,我的警告信息不显示?

EN

回答 1

Stack Overflow用户

发布于 2016-11-14 18:16:26

一个老问题,但答案是您需要使用绝对路径,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
set(CPACK_INSTALL_SCRIPT ${CMAKE_SOURCE_DIR}/DoSomething.cmake)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28425887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档