%global version_major 1 %global version_minor 6 %global version_micro 0 # The naming scheme in non-Mandriva-based distros %if 0%{!?mklibname:1} %define mklibname(ds) lib%{1}%{?2:%{2}}%{-s:-static}%{-d:-devel} %endif %global libname %mklibname sdbus-c++ %{version_major} %global devname %mklibname sdbus-c++ -d %global devdocname libsdbus-c++-devel-doc Name: sdbus-cpp Version: %{version_major}.%{version_minor}.%{version_micro} Release: 1.1%{dist} Summary: High-level C++ D-Bus library Group: System/Libraries License: LGPL-2.1-only URL: https://github.com/Kistler-Group/sdbus-cpp Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz BuildRequires: cmake >= 3.12 BuildRequires: gcc-c++ BuildRequires: pkgconfig(libsystemd) >= 236 %description High-level C++ D-Bus library for Linux designed to provide easy-to-use yet powerful API in modern C++ %package -n %{libname} Summary: High-level C++ D-Bus library Group: System/Libraries %description -n %{libname} High-level C++ D-Bus library for Linux designed to provide easy-to-use yet powerful API in modern C++ %package -n %{devname} Summary: Development files for %{name} Group: Development/C++ Provides: %{name}-devel = %{version}-%{release} Provides: %{name}-devel%{?_isa} = %{version}-%{release} Requires: %{libname}%{?_isa} = %{version}-%{release} %description -n %{devname} Development files for %{name}. %package -n %{devdocname} Summary: Developer documentation for %{name} Group: Development/C++ BuildArch: noarch BuildRequires: doxygen Provides: %{name}-devel-doc = %{version}-%{release} %description -n %{devdocname} Developer documentation for %{name} %package tools Summary: Stub code generator for sdbus-c++ Group: Development/C++ Provides: sdbus-c++-tools = %{version}-%{release} Provides: sdbus-c++-tools%{?_isa} = %{version}-%{release} Requires: %{libname}%{?_isa} = %{version}-%{release} BuildRequires: pkgconfig(expat) %description tools The stub code generator for generating the adapter and proxy interfaces out of the D-Bus IDL XML description. %prep %autosetup -p1 %build %cmake \ -DCMAKE_BUILD_TYPE=Release \ %if "%{version}" >= "2.0.0" -DSDBUSCPP_BUILD_CODEGEN=ON \ -DSDBUSCPP_BUILD_DOXYGEN_DOCS=ON %else -DBUILD_CODE_GEN=ON \ -DBUILD_DOXYGEN_DOC=ON %endif %cmake_build %if "%{version}" >= "2.0.0" %cmake_build --target docs %else %cmake_build --target doc %endif %install %cmake_install %files -n %{libname} %license %{_docdir}/sdbus-c++/COPYING %dir %{_docdir}/sdbus-c++ %{_libdir}/libsdbus-c++.so.%{version_major} %{_libdir}/libsdbus-c++.so.%{version} %files -n %{devname} %dir %{_docdir}/sdbus-c++ %doc %{_docdir}/sdbus-c++/AUTHORS %doc %{_docdir}/sdbus-c++/ChangeLog %doc %{_docdir}/sdbus-c++/NEWS %doc %{_docdir}/sdbus-c++/README %{_libdir}/pkgconfig/sdbus-c++.pc %{_libdir}/pkgconfig/sdbus-c++-tools.pc %{_libdir}/libsdbus-c++.so %{_libdir}/cmake/sdbus-c++/ %{_includedir}/* %files -n %{devdocname} %dir %{_docdir}/sdbus-c++ %doc %{_docdir}/sdbus-c++/* %files tools %{_bindir}/sdbus-c++-xml2cpp %{_libdir}/cmake/sdbus-c++-tools/