]> git.pld-linux.org Git - packages/cmake.git/blob - cmake.spec
- updated to 3.14.0
[packages/cmake.git] / cmake.spec
1 # TODO:
2 # - system kwiml?
3 # - make lib64/libx32 patch changes applicable everywhere
4 # - any valid CMAKE_BUILD_TYPE causes overriding of our optflags
5 #   (and default non-verbose makefiles are hiding it!)
6 # - rpmldflags/rpmcppflags are not passed through %%cmake macro at all
7 #   (is there any standard way???)
8 #
9 # Conditional build:
10 %bcond_with     bootstrap       # use internal versions of some libraries
11 %bcond_without  gui             # don't build gui package
12 %bcond_with     xmlrpc          # XMLRPC submission method in CTest
13 %bcond_with     tests           # perform "make test"
14 %bcond_without  doc             # don't build documentation
15
16 %if %{with bootstrap}
17 %undefine       with_xmlrpc
18 %endif
19 Summary:        Cross-platform, open-source make system
20 Summary(pl.UTF-8):      Wieloplatformowy system make o otwartych źródłach
21 Name:           cmake
22 Version:        3.14.0
23 Release:        1
24 License:        BSD
25 Group:          Development/Building
26 Source0:        https://cmake.org/files/v3.14/%{name}-%{version}.tar.gz
27 # Source0-md5:  7504e4f3e05b59e083f2127e07059d5d
28 Patch0:         %{name}-lib64.patch
29 Patch1:         %{name}-libx32.patch
30 Patch2:         %{name}-helpers.patch
31 Patch3:         %{name}-findruby.patch
32 Patch4:         %{name}-findruby2.patch
33 URL:            https://cmake.org/
34 %if %{with gui}
35 BuildRequires:  Qt5Core-devel >= 5.0
36 BuildRequires:  Qt5Gui-devel >= 5.0
37 BuildRequires:  Qt5Widgets-devel >= 5.0
38 %endif
39 %{!?with_xmlrpc:BuildRequires:  curl-devel}
40 BuildRequires:  expat-devel
41 BuildRequires:  jsoncpp-devel >= 1.6.2-2
42 BuildRequires:  libarchive-devel
43 BuildRequires:  libstdc++-devel
44 BuildRequires:  libuv-devel
45 BuildRequires:  ncurses-devel > 5.9-3
46 %{?with_gui:BuildRequires:      qt5-build >= 5.0}
47 %{?with_gui:BuildRequires:      qt5-qmake >= 5.0}
48 BuildRequires:  rhash-devel
49 BuildRequires:  rpmbuild(macros) >= 1.167
50 %{?with_doc:BuildRequires:      sphinx-pdg}
51 %{?with_xmlrpc:BuildRequires:   xmlrpc-c-devel >= 1.4.12-2}
52 %{!?with_xmlrpc:BuildRequires:  zlib-devel}
53 Requires:       filesystem >= 3.0-52
54 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55
56 %description
57 CMake is used to control the software compilation process using simple
58 platform and compiler independent configuration files. CMake generates
59 native makefiles and workspaces that can be used in the compiler
60 environment of your choice. CMake is quite sophisticated: it is
61 possible to support complex environments requiring system
62 configuration, pre-processor generation, code generation, and template
63 instantiation.
64
65 %description -l pl.UTF-8
66 CMake służy do sterowania procesem kompilacji oprogramowania przy
67 użyciu prostych plików konfiguracyjnych niezależnych od platformy i
68 kompilatora. CMake generuje natywne pliki makefile i workspace,
69 których można używać w wybranym środowisku kompilatora. CMake jest
70 dość wyrafinowany: może obsłużyć złożone środowiska wymagające
71 konfiguracji systemu, generowanie preprocesora, generowanie kodu i
72 dziedziczenie szablonów.
73
74 %package doc-html
75 Summary:        CMake documentation in HTML format
76 Summary(pl.UTF-8):      Dokumentacja do pakietu CMake w formacie HTML
77 Group:          Documentation
78
79 %description doc-html
80 CMake documentation in HTML format.
81
82 %description doc-html -l pl.UTF-8
83 Dokumentacja do pakietu CMake w formacie HTML.
84
85 %package gui
86 Summary:        Qt GUI for CMake
87 Summary(pl.UTF-8):      Graficzny interfejs użytkownika Qt dla CMake
88 Group:          Development/Tools
89 Requires:       %{name} = %{version}-%{release}
90
91 %description gui
92 This package contains the Qt based GUI for CMake.
93
94 %description gui -l pl.UTF-8
95 Ten pakiet zawiera oparty na Qt graficzny interfejs użytkownika dla
96 CMake.
97
98 %package emacs
99 Summary:        Emacs mode for cmake files
100 Summary(pl.UTF-8):      Tryb Emacsa dla plików cmake'a
101 Group:          Development/Tools
102
103 %description emacs
104 Emacs mode for cmake files.
105
106 %description emacs -l pl.UTF-8
107 Tryb Emacsa dla plików cmake'a.
108
109 %package -n bash-completion-%{name}
110 Summary:        bash-completion for cmake
111 Summary(pl.UTF-8):      Bashowe dopełnianie parametrów dla cmake'a
112 Group:          Applications/Shells
113 Requires:       %{name} = %{version}-%{release}
114 Requires:       bash-completion >= 2.0
115 %if "%{_rpmversion}" >= "5"
116 BuildArch:      noarch
117 %endif
118
119 %description -n bash-completion-%{name}
120 bash-completion for cmake.
121
122 %description -n bash-completion-%{name} -l pl.UTF-8
123 Bashowe dopełnianie parametrów dla cmake'a.
124
125 %prep
126 %setup -q
127 %if "%{_lib}" == "lib64"
128 %patch0 -p1
129 %endif
130 %if "%{_lib}" == "libx32"
131 %patch1 -p1
132 %endif
133 %patch2 -p1
134 %patch3 -p1
135 %patch4 -p1
136
137 cat > "init.cmake" <<EOF
138 SET (CURSES_INCLUDE_PATH "/usr/include/ncurses" CACHE PATH " " FORCE)
139 SET (CMAKE_INSTALL_SYSCONFDIR "%{_sysconfdir}" CACHE PATH " " FORCE)
140 SET (CMAKE_INSTALL_DATADIR "%{_datadir}" CACHE PATH " " FORCE)
141 EOF
142
143 # cleanup backups after patching, modules are copied as-is
144 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
145
146 %build
147 export CC="%{__cc}"
148 export CXX="%{__cxx}"
149 export CFLAGS="%{rpmcflags}"
150 export CXXFLAGS="%{rpmcxxflags}"
151 export LDFLAGS="%{rpmldflags}"
152 ./bootstrap \
153         --prefix=%{_prefix} \
154         --mandir=/share/man \
155         --datadir=/share/cmake \
156         --init=init.cmake \
157         %{!?with_bootstrap:--system-libs} \
158         %{?with_gui:--qt-gui} \
159         --qt-qmake=%{_bindir}/qmake-qt5 \
160         %{?with_doc:--sphinx-html} \
161         %{?with_doc:--sphinx-man} \
162         --verbose \
163         -- \
164         %{?with_xmlrpc:-DCTEST_USE_XMLRPC=ON}
165
166 %{__make} VERBOSE=1
167
168 %{?with_tests:%{__make} test}
169
170 %install
171 rm -rf $RPM_BUILD_ROOT
172 %{__make} install \
173         DESTDIR=$RPM_BUILD_ROOT
174
175 %{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc
176
177 %clean
178 rm -rf $RPM_BUILD_ROOT
179
180 %files
181 %defattr(644,root,root,755)
182 %doc Copyright.txt README.rst *.gif
183 %attr(755,root,root) %{_bindir}/ccmake
184 %attr(755,root,root) %{_bindir}/cmake
185 %attr(755,root,root) %{_bindir}/cpack
186 %attr(755,root,root) %{_bindir}/ctest
187 %if %{with doc}
188 %{_mandir}/man1/ccmake.1*
189 %{_mandir}/man1/cmake.1*
190 %{_mandir}/man1/cpack.1*
191 %{_mandir}/man1/ctest.1*
192 %{_mandir}/man7/cpack-generators.7*
193 %{_mandir}/man7/cmake-buildsystem.7*
194 %{_mandir}/man7/cmake-commands.7*
195 %{_mandir}/man7/cmake-compile-features.7*
196 %{_mandir}/man7/cmake-developer.7*
197 %{_mandir}/man7/cmake-env-variables.7*
198 %if %{with xml_rpc}
199 %{_mandir}/man7/cmake-file-api.7*
200 %endif
201 %{_mandir}/man7/cmake-generator-expressions.7*
202 %{_mandir}/man7/cmake-generators.7*
203 %{_mandir}/man7/cmake-language.7*
204 %{_mandir}/man7/cmake-modules.7*
205 %{_mandir}/man7/cmake-packages.7*
206 %{_mandir}/man7/cmake-policies.7*
207 %{_mandir}/man7/cmake-properties.7*
208 %{_mandir}/man7/cmake-qt.7*
209 %{_mandir}/man7/cmake-server.7*
210 %{_mandir}/man7/cmake-toolchains.7*
211 %{_mandir}/man7/cmake-variables.7*
212 %{_datadir}/cmake/Help
213 %endif
214 # top cmake/Modules dirs belong to filesystem
215 %{_datadir}/cmake/Modules/.NoDartCoverage
216 %{_datadir}/cmake/Modules/*
217 %{_datadir}/cmake/Templates
218 %{_datadir}/cmake/editors
219 %{_datadir}/cmake/include
220 %{_aclocaldir}/cmake.m4
221
222 %if %{with doc}
223 %files doc-html
224 %defattr(644,root,root,755)
225 %doc Utilities/Sphinx/html/*
226 %endif
227
228 %if %{with gui}
229 %files gui
230 %defattr(644,root,root,755)
231 %attr(755,root,root) %{_bindir}/cmake-gui
232 %{_datadir}/mime/packages/cmakecache.xml
233 %{_desktopdir}/cmake-gui.desktop
234 %{_iconsdir}/hicolor/128x128/apps/CMakeSetup.png
235 %{_iconsdir}/hicolor/32x32/apps/CMakeSetup.png
236 %{_mandir}/man1/cmake-gui.1*
237 %endif
238
239 %files emacs
240 %defattr(644,root,root,755)
241 %{_datadir}/emacs/site-lisp/cmake-mode.el
242
243 %files -n bash-completion-%{name}
244 %defattr(644,root,root,755)
245 %{bash_compdir}/cmake
246 %{bash_compdir}/cpack
247 %{bash_compdir}/ctest
This page took 0.05115 seconds and 4 git commands to generate.