%global debug_package %{nil}

Name:           Catch2
Version:        3.3.2
Release:        1%{?dist}
Summary:        Modern, C++-native, header-only, framework for unit-tests, TDD and BDD

License:        BSL-1.0
URL:            https://github.com/catchorg/Catch2
Source0:        v%{version}.tar.gz

BuildRequires:  cmake make gcc-c++ python3

%description
Catch stands for C++ Automated Test Cases in Headers and is a
multi-paradigm automated test framework for C++ and Objective-C (and,
maybe, C). It is implemented entirely in a set of header files, but
is packaged up as a single header for extra convenience.


%package        devel
Summary:        Development files for %{name}
Requires:       %{name} = %{version}-%{release}

%description    devel
Catch stands for C++ Automated Test Cases in Headers and is a
multi-paradigm automated test framework for C++ and Objective-C (and,
maybe, C). It is implemented entirely in a set of header files, but
is packaged up as a single header for extra convenience.


%prep
%autosetup -p 1 -n %{name}-%{version}


%build
mkdir build
cd build
%cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCATCH_BUILD_EXTRA_TESTS=ON \
    -DCATCH_ENABLE_WERROR=OFF \
    -DCATCH_INSTALL_DOCS=OFF \
    -DBUILD_SHARED_LIBS=ON ..
%make_build


%install
%make_install -C build


%files
%license LICENSE.txt
%{_libdir}/libCatch2.so.%{version}
%{_libdir}/libCatch2Main.so.%{version}


%files devel
%doc README.md CODE_OF_CONDUCT.md docs
%{_includedir}/catch2/
%{_libdir}/libCatch2.so
%{_libdir}/libCatch2Main.so
%{_libdir}/cmake/Catch2/
%{_datadir}/Catch2/
%{_datadir}/pkgconfig/catch2.pc
%{_datadir}/pkgconfig/catch2-with-main.pc


%changelog
* Fri Apr 28 2023 will_niutao <niutao2@huawei.com> - 4.9.0-1
- init package for openEuler

