SampleSpecs/cmakeprogram

Материал из ALT Linux Wiki
%def_with check

Name: sampleprog
Version: 1.0
Release: alt1

Summary: Sample program specfile
License: GPL-2.0-or-later
Group: Development/Other

URL: https://www.altlinux.org/SampleSpecs/cmakeprogram
Source: %name-%version.tar

BuildRequires(pre): rpm-macros-cmake
BuildRequires: cmake 

%if_with check
BuildRequires: ctest
%endif

%description
This specfile is provided as a sample specfile
for a package built with cmake.

%prep
%setup

%build
%cmake
%cmake_build

%install
%cmake_install
%find_lang %name

%check
%ctest

%files -f %name.lang
%doc AUTHORS ChangeLog NEWS README THANKS TODO contrib/ manual/
%_bindir/*
%_man1dir/*

%changelog
* Sat Jan 33 3001 Example Packager <example@altlinux.org> 1.0-alt1
- Initial build.

проверки

Макрос %ctest добавлен в cmake 3.23.2-alt3; обратите внимание: если забыть BuildRequires: cmake, но добавить условную сборочную зависимость от ctest, как в примере выше -- может получиться пакет, который пройдёт сборку в сизиф, но при --without check сломается на ровном месте по отсутствию cmake.

архитектурное

Не следует путать %_cmake__builddir (который сейчас определён как %_target_platform) и %_host_alias, поскольку эти значения могут различаться как минимум для e2k-alt-linux:

e16c:~> rpm --eval '%_target_platform %_host_alias'
e2kv6-alt-linux-gnu e2k-alt-linux