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