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