cmake打包rpm包时,如何设置“%define __jar_repack %{nil}”
时间: 2023-06-15 10:04:09 浏览: 217
在 CMakeLists.txt 文件中,可以通过设置 CMAKE_RPM_SPEC_TEMPLATE 变量来指定 RPM spec 文件的模板。
在这个模板文件中,可以添加以下内容来设置“%define __jar_repack %{nil}”:
```
%define __jar_repack %{nil}
```
完整的示例:
```
%global __os_install_post %{nil}
%global __jar_repack %{nil}
%define _build_id_links none
%define _build_id_clus 0
Name: mypackage
Version: 1.0
Release: 1%{?dist}
Summary: My package
License: MIT
URL: http://example.com
%description
My package description.
%prep
%setup -q
%build
%cmake .
%make_build
%install
%make_install
%files
%license LICENSE
%{_bindir}/mypackage
```
在这个示例中,我们使用 %global 宏来设置 __os_install_post 和 __jar_repack,然后在 %define 宏中设置 _build_id_links 和 _build_id_clus。注意,这个示例中没有使用 CMake 的 CPack 打包 rpm 包。
你也可以在 CMakeLists.txt 文件中添加以下内容,来设置 CMAKE_RPM_SPEC_TEMPLATE 变量:
```
set(CMAKE_RPM_SPEC_TEMPLATE "%{SOURCE_DIR}/mypackage.spec")
```
这个例子中,我们将 CMAKE_RPM_SPEC_TEMPLATE 设置为 mypackage.spec 文件的路径。在 mypackage.spec 文件中,可以添加上述的 %define 宏来设置 __jar_repack。
阅读全文