]>
Commit | Line | Data |
---|---|---|
01d13c31 ER |
1 | # |
2 | # Conditional build: | |
0dd76f0f | 3 | %bcond_without doc # build without doc |
53d00b1b | 4 | %bcond_without tests # build without tests |
071895c0 | 5 | |
23845e79 | 6 | %define orgname extra-cmake-modules |
047d4a08 | 7 | %define kdeframever 5.97 |
23845e79 | 8 | Summary: Extra Cmake Modules for KF5 |
53d00b1b | 9 | Summary(pl.UTF-8): Dodatkowe moduły Cmake'a dla KF5 |
01d13c31 | 10 | Name: kf5-%{orgname} |
047d4a08 | 11 | Version: 5.97.0 |
daf60595 | 12 | Release: 1 |
071895c0 AM |
13 | License: BSD |
14 | Group: Development/Building | |
bb2957f2 | 15 | Source0: https://download.kde.org/stable/frameworks/%{kdeframever}/%{orgname}-%{version}.tar.xz |
047d4a08 | 16 | # Source0-md5: 9004ad7e58f5d3ef4a68ac9d3d432c51 |
53d00b1b | 17 | Patch0: %{orgname}-tests.patch |
3d166c4a | 18 | Patch1: kdefetchtranslations-test.patch |
3ed29e1c JB |
19 | URL: https://kde.org/ |
20 | BuildRequires: cmake >= 3.16 | |
2f178ef3 | 21 | BuildRequires: qt5-assistant >= 5.9.0 |
071895c0 | 22 | BuildRequires: qt5-linguist |
3f354ca4 | 23 | BuildRequires: rpmbuild(macros) >= 1.698 |
53d00b1b | 24 | BuildRequires: sed >= 4.0 |
511160b0 | 25 | %{?with_doc:BuildRequires: sphinx-pdg >= 1.2} |
434fec0f WF |
26 | BuildRequires: tar >= 1:1.22 |
27 | BuildRequires: xz | |
53d00b1b | 28 | %if %{with tests} |
2f178ef3 | 29 | BuildRequires: Qt5Core-devel >= 5.9.0 |
2f178ef3 | 30 | BuildRequires: Qt5Quick-devel >= 5.9.0 |
cc4fc263 | 31 | BuildRequires: libstdc++-devel >= 6:5 |
53d00b1b | 32 | %endif |
9ad2d434 | 33 | BuildConflicts: qmake |
1a1e564e | 34 | BuildArch: noarch |
23845e79 WF |
35 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
36 | ||
23845e79 WF |
37 | %description |
38 | The Extra CMake Modules package, or ECM, adds to the modules provided | |
01d13c31 ER |
39 | by CMake, including both ones used by find_package() to find common |
40 | software and ones that can be used directly in CMakeLists.txt files to | |
41 | perform common tasks. | |
23845e79 WF |
42 | |
43 | In addition, it provides common build settings used in software | |
44 | produced by the KDE community. | |
45 | ||
46 | While the driving force of this module is to reduce duplication in | |
47 | CMake scripts across KDE software, it is intended to be useful for any | |
48 | software that uses the CMake build system. | |
49 | ||
53d00b1b JB |
50 | %description -l pl.UTF-8 |
51 | Pakiet Extra CMake Modules (ECM) dostarcza dodatkowe moduły do tych | |
52 | dostarczanych przez CMake'a, zawierające te używane przez | |
53 | find_package() do szukania popularnego oprogramowania, a także takie, | |
54 | których można używać bezpośrednio w CMakeLists.txt do wykonywania | |
55 | wspólnych zadań. | |
56 | ||
57 | Ponadto pakiet dostarcza wspólne ustawienia budowana używane w | |
58 | oprogramowaniu tworzonym przez społeczność KDE. | |
59 | ||
60 | O ile główną motywacją tego modułu jest zmniejszenie duplikacji w | |
61 | skryptach CMake'a w oprogramowaniu KDE, ma także być przydatny dla | |
62 | dowolnych programów wykorzystujących system budowania CMake. | |
63 | ||
0dd76f0f | 64 | %package apidocs |
1f2c20d2 WF |
65 | Summary: API documentation for %{orgname} |
66 | Summary(pl.UTF-8): Dokumentacja API %{orgname} | |
0dd76f0f | 67 | Group: Documentation |
511160b0 | 68 | Obsoletes: kf5-extra-cmake-modules-doc < 1.4.0 |
0dd76f0f WF |
69 | |
70 | %description apidocs | |
71 | API documentation for %{orgname}. | |
72 | ||
73 | %description apidocs -l pl.UTF-8 | |
74 | Dokumentacja API dla %{orgname}. | |
75 | ||
23845e79 WF |
76 | %prep |
77 | %setup -q -n %{orgname}-%{version} | |
53d00b1b | 78 | %patch0 -p1 |
3d166c4a | 79 | %patch1 -p0 |
53d00b1b JB |
80 | |
81 | # causes make install failure after running tests | |
82 | %{__sed} -i -e '/ECMToolchainAndroidTest/d' tests/CMakeLists.txt | |
23845e79 WF |
83 | |
84 | %build | |
85 | install -d build | |
86 | cd build | |
3d166c4a WF |
87 | %cmake \ |
88 | %{!?with_tests:-DBUILD_TESTING=OFF} \ | |
0dd76f0f | 89 | %{!?with_doc:-DBUILD_HTML_DOCS=OFF} \ |
3d166c4a | 90 | .. |
53d00b1b | 91 | |
23845e79 WF |
92 | %{__make} |
93 | ||
53d00b1b JB |
94 | %if %{with tests} |
95 | # GenerateSipBindings wants clang and has libclang checks incompatible with libclang >= 4 | |
9a54f06a | 96 | # ECMPoQmToolsTest fails to build it's own moc file |
68d6e03d | 97 | ctest -E '(GenerateSipBindings|ECMPoQmToolsTest)' --output-on-failure |
53d00b1b | 98 | %endif |
071895c0 | 99 | |
23845e79 WF |
100 | %install |
101 | rm -rf $RPM_BUILD_ROOT | |
53d00b1b JB |
102 | |
103 | %{__make} -C build -j1 install \ | |
23845e79 WF |
104 | DESTDIR=$RPM_BUILD_ROOT |
105 | ||
3d166c4a WF |
106 | sed -i -e 's#/usr/bin/env bash#/bin/bash#' $RPM_BUILD_ROOT%{_datadir}/ECM/kde-modules/kde-git-commit-hooks/pre-commit.in |
107 | sed -i -e 's#/usr/bin/env bash#/bin/bash#' $RPM_BUILD_ROOT%{_datadir}/ECM/kde-modules/kde-git-commit-hooks/clang-format.sh | |
108 | ||
0dd76f0f | 109 | %if %{with doc} |
53d00b1b | 110 | %{__mv} $RPM_BUILD_ROOT%{_docdir}/ECM ECM-doc |
0dd76f0f | 111 | %endif |
ed2c6fa7 | 112 | install -d $RPM_BUILD_ROOT%{_datadir}/qlogging-categories5 |
071895c0 | 113 | |
23845e79 WF |
114 | %clean |
115 | rm -rf $RPM_BUILD_ROOT | |
116 | ||
117 | %files | |
118 | %defattr(644,root,root,755) | |
0dd76f0f | 119 | %doc COPYING-CMAKE-SCRIPTS README.rst |
23845e79 | 120 | %{_datadir}/ECM |
ed2c6fa7 | 121 | %{_datadir}/qlogging-categories5 |
071895c0 | 122 | %{_mandir}/man7/ecm*.7* |
0dd76f0f WF |
123 | |
124 | %if %{with doc} | |
125 | %files apidocs | |
126 | %defattr(644,root,root,755) | |
127 | %doc ECM-doc/html/* | |
128 | %endif |