# Even though this package does not install any ELF files, it does compute
# pointer sizes. Therefore, this package cannot be noarch, but it also does
# not produce any debug information.
%global debug_package %{nil}
Name: cli11
Version: 1.8.0
Release: 1%{?dist}
Summary: Command line parser for C++11
License: BSD
URL: https://github.com/CLIUtils/CLI11
Source0: https://github.com/CLIUtils/CLI11/archive/v%{version}/%{name}-%{version}.tar.gz
# Use the system gmock/gtest instead of requiring that they be downloaded
Patch0: %{name}-gtest.patch
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: gmock-devel
BuildRequires: gtest-devel
BuildRequires: python3-devel
%description
CLI11 is a command line parser for C++11 and beyond that provides a
rich feature set with a simple and intuitive interface.
%package devel
Summary: Command line parser for C++11
Requires: cmake-filesystem
%description devel
CLI11 is a command line parser for C++11 and beyond that provides a
rich feature set with a simple and intuitive interface.
%package docs
Summary: Documentation for CLI11
BuildArch: noarch
%description docs
Documentation for CLI11.
%prep
%autosetup -p0 -n CLI11-%{version}
# Fix the install on 64-bit systems
if [ "%{_lib}" = "lib64" ]; then
sed -i 's,lib/cmake,lib64/cmake,g' CMakeLists.txt
fi
# Work around undefined behavior in checked_multiply
sed -i 's/-Wshadow/& -fwrapv/' CMakeLists.txt
%build
%cmake .
%make_build
# Build the documentation
cd docs
doxygen Doxyfile
%install
%make_install
%check
make test
%files devel
%doc CHANGELOG.md README.md
%license LICENSE
%{_includedir}/CLI/
%{_libdir}/cmake/CLI11/
%files docs
%doc docs/html docs/CLI11.svg docs/CLI11_100.png docs/CLI11_300.png
%changelog
* Sat Jun 8 2019 Jerry James <loganjerry@gmail.com> - 1.8.0-1
- Initial RPM