Blob Blame History Raw
# 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