- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望 cpack 仅采用某些组件。但他同时使用 run 和 deb 组件。我查看了很多资料来源。包括这个cpack component level install 。但我不明白我做错了什么。请告诉我,我做错了什么?我的 CMakeLists.txt
cmake_minimum_required(VERSION 3.8)
project(testProj)
set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp)
add_executable(testProj ${SOURCE_FILES})
set(CMAKE_INSTALL_PREFIX .)
install(FILES temp.h DESTINATION someFolder
PERMISSIONS OWNER_READ OWNER_WRITE WORLD_READ WORLD_EXECUTE COMPONENT deb
)
install(FILES Alpha0.400000.txt DESTINATION someFolder
PERMISSIONS OWNER_READ OWNER_WRITE WORLD_READ WORLD_EXECUTE COMPONENT run
)
set(CPACK_TGZ_COMPONENT_INSTALL ON)
set(CPACK_COMPONENT_ALL deb)
set(CPACK_COMPONENTS_ALL deb)
include(CPack)
我获得神器的步骤
cmake .
make
cpack .
CPack: Create package using STGZ
CPack: Install projects
CPack: - Run preinstall target for: testProj
CPack: - Install project: testProj
CPack: Create package
CPack: - package: /home/danyal/testProj/test/testProj-0.1.1-Linux.sh generated.
CPack: Create package using TGZ
CPack: Install projects
CPack: - Run preinstall target for: testProj
CPack: - Install project: testProj
CPack: Create package
CPack: - package: /home/danyal/testProj/test/testProj-0.1.1-Linux.tar.gz generated.
CPack: Create package using TZ
CPack: Install projects
CPack: - Run preinstall target for: testProj
CPack: - Install project: testProj
CPack: Create package
CPack: - package: /home/danyal/testProj/test/testProj-0.1.1-Linux.tar.Z generated.
并且testProj-0.1.1-Linux.tar.gz包含
someFolder
-temp.h
-Alpha0.400000.txt
最佳答案
只需将以下内容添加到您的 CMakeLists.txt
set(CPACK_ARCHIVE_COMPONENT_INSTALL 1)
我遇到了完全相同的问题,必须深入研究源头才能找到答案。下面的函数给出了答案:
bool cmCPackArchiveGenerator::SupportsComponentInstallation() const
{
// The Component installation support should only
// be activated if explicitly requested by the user
// (for backward compatibility reason)
return IsOn("CPACK_ARCHIVE_COMPONENT_INSTALL");
}
出于兼容性原因,任何存档打包(即 ZIP 和 TGZ)都不使用组件安装。
关于cmake - cpack 组件安装不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47080663/
我为几个操作系统版本创建软件包,包括 RHEL7 和 RHEL8(或者几乎同样是 CentOS7 和 8)。 可以安装为 .el7 构建的包。在 .el8 上。但它通常不起作用(例如由于 undefi
我有一个 CMake由一个根组成的项目 CMakeLists和多个子CMakeLists (每个项目一个)。 我正在尝试使用 CPack为这些项目之一 (APP_client) 生成 .deb 文件。
我有一个 CMake 项目来构建多个共享库和工具,其中大部分位于子目录下: add_directory(libFirst) add_directory(libSecond) add_directory
我有一个使用 CMake 构建的相当复杂的项目。该项目使用 CPack 生成 .deb 包。当我刚刚用 make 构建项目时(即不构建 .deb)一个干净的构建大约需要 2 分钟。但是,当我使用 ma
我希望 cpack 仅采用某些组件。但他同时使用 run 和 deb 组件。我查看了很多资料来源。包括这个cpack component level install 。但我不明白我做错了什么。请告诉我
我使用 cpack (CMake 3.0.2) 从我的源构建 RPM。我在构建预安装目标时出错,它说: CPack Error: Problem running install command: "
对于附加到 CMake wiki 的示例 CMakeLists.txt。我还在下面添加了实际的 make 命令来创建基于组件的 TGZ。我很困惑,在文档中没有看到任何帮助。 CMakeLists.tx
我在使用 CPack 和 CMake 创建两个 debian 软件包时遇到了问题。我已经完成了 here 中的示例我确实设法创建了两个不同的 debian 包,但我希望它们每个都有自己的依赖项。生成的
EDIT =================== apr-1 是 apache 可移植运行时,我自己下载并编译以创建共享库(因此它不是由 cmake 制作的)。在目标系统上运行 CPack 后,我需要
我正在一个发行版中构建两个包: 运行时共享库包 开发库包 问题是在其中任何一个中包含正确的符号链接(symbolic link)。目前我使用: set_target_properties(myli
我正在使用 CMake 2.8.11.2、CPack 和 NSIS 编写安装程序。我到了需要调用包含的子安装程序(如 MSVCR)的地步。这是我的 CMakeLists.txt 的样子: set(CP
我正在使用 CPack WIX 生成器来创建安装程序。安装程序需要在目标系统上的 %ALLUSERSPROFILE%\foo\文件夹中安装一个文件。 我找不到在安装树 (C:\Program File
我想重命名 CPack (v2.8.7) 生成的安装程序文件,以包含在构建时从版本控制系统获取的版本号。看来这不能通过设置 CPACK_* 变量来完成,因为这发生在“cmake”时间。 我想要做的是运
因此,有多种方法可以在 CMake 处复制文件(和目录)。运行时(file(COPY ...)、configure_file(...) 和 add_custom_command() 都可以工作*),但
语境 我有一个使用 CMake 3.17 构建的托管 C++/CLR 库,并使用 CPack 打包到 NuGet 包中。生成的 nupkg 文件无法导入 C# 项目,因为包管理器发出以下错误:“[sn
我想使用 cmake 和 cpack 在 Windows 上为某些程序创建安装程序。我希望能够选择要安装的程序,并且所选程序应作为快捷方式显示在开始菜单中。这是一个简单的尝试。为每个程序完成一个组件但
我真的很难让 CPack 以我想象的方式运行。我在下面有一个小示例设置,在将它应用到更大的项目之前,我一直在努力工作。本质上,我正在尝试使用 fixup_bundle 来收集所有依赖项并将它们复制到打
看下面这个相当简单的 CMake 文件: cmake_minimum_required(VERSION 3.7) add_library(libdice SHARED lib.cpp) set_tar
我目前正在开发一个 cmake 项目,该项目使用通过 find_package 函数导入的外部库。我的问题围绕着 cpack 以及我应该如何将找到的包添加到 cpack 输出中。例如,如果我使用这个
我需要将库中的所有 header 定位到 /usr/include ,而不是 /usr/include/mylibname 。请注意,我想更改标题的位置。我想将我的 .so 文件保留在 /usr/li
我是一名优秀的程序员,十分优秀!