2 # - extend libx32 patch to work also on 64-bit arch
3 # - any valid CMAKE_BUILD_TYPE causes overriding of our optflags
4 # (and default non-verbose makefiles are hiding it!)
5 # - rpmldflags/rpmcppflags are not passed through %%cmake macro at all
6 # (is there any standard way???)
9 %bcond_with bootstrap # use internal versions of some libraries
10 %bcond_without gui # don't build gui package
11 %bcond_with tests # perform "make test"
12 %bcond_without doc # don't build documentation
14 Summary: Cross-platform, open-source make system
15 Summary(pl.UTF-8): Wieloplatformowy system make o otwartych źródłach
20 Group: Development/Building
21 Source0: https://cmake.org/files/v3.5/%{name}-%{version}.tar.gz
22 # Source0-md5: 701386a1b5ec95f8d1075ecf96383e02
23 Patch0: %{name}-lib64.patch
24 Patch1: %{name}-libx32.patch
25 Patch2: %{name}-helpers.patch
26 Patch3: %{name}-findruby.patch
27 Patch4: %{name}-findruby2.patch
28 Patch5: man-syntax.patch
29 Patch6: imagemagick7.patch
30 URL: https://cmake.org/
32 BuildRequires: Qt5Core-devel >= 5.0
33 BuildRequires: Qt5Gui-devel >= 5.0
34 BuildRequires: Qt5Widgets-devel >= 5.0
36 BuildRequires: curl-devel
37 BuildRequires: expat-devel
38 BuildRequires: jsoncpp-devel >= 1.6.2-2
39 BuildRequires: libarchive-devel
40 BuildRequires: libstdc++-devel
41 BuildRequires: ncurses-devel > 5.9-3
42 %{?with_gui:BuildRequires: qt5-build >= 5.0}
43 %{?with_gui:BuildRequires: qt5-qmake >= 5.0}
44 BuildRequires: rpmbuild(macros) >= 1.167
45 %{?with_doc:BuildRequires: sphinx-pdg}
46 %{!?with_bootstrap:BuildRequires: xmlrpc-c-devel >= 1.4.12-2}
47 BuildRequires: zlib-devel
48 Requires: filesystem >= 3.0-52
49 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 CMake is used to control the software compilation process using simple
53 platform and compiler independent configuration files. CMake generates
54 native makefiles and workspaces that can be used in the compiler
55 environment of your choice. CMake is quite sophisticated: it is
56 possible to support complex environments requiring system
57 configuration, pre-processor generation, code generation, and template
60 %description -l pl.UTF-8
61 CMake służy do sterowania procesem kompilacji oprogramowania przy
62 użyciu prostych plików konfiguracyjnych niezależnych od platformy i
63 kompilatora. CMake generuje natywne pliki makefile i workspace,
64 których można używać w wybranym środowisku kompilatora. CMake jest
65 dość wyrafinowany: może obsłużyć złożone środowiska wymagające
66 konfiguracji systemu, generowanie preprocesora, generowanie kodu i
67 dziedziczenie szablonów.
70 Summary: CMake documentation in HTML format
71 Summary(pl.UTF-8): Dokumentacja do pakietu CMake w formacie HTML
75 CMake documentation in HTML format.
77 %description doc-html -l pl.UTF-8
78 Dokumentacja do pakietu CMake w formacie HTML.
81 Summary: Qt GUI for CMake
82 Summary(pl.UTF-8): Graficzny interfejs użytkownika Qt dla CMake
83 Group: Development/Tools
84 Requires: %{name} = %{version}-%{release}
87 This package contains the Qt based GUI for CMake.
89 %description gui -l pl.UTF-8
90 Ten pakiet zawiera oparty na Qt graficzny interfejs użytkownika dla
94 Summary: Emacs mode for cmake files
95 Summary(pl.UTF-8): Tryb Emacsa dla plików cmake'a
96 Group: Development/Tools
99 Emacs mode for cmake files.
101 %description emacs -l pl.UTF-8
102 Tryb Emacsa dla plików cmake'a.
104 %package -n bash-completion-%{name}
105 Summary: bash-completion for cmake
106 Summary(pl.UTF-8): Bashowe dopełnianie parametrów dla cmake'a
107 Group: Applications/Shells
108 Requires: %{name} = %{version}-%{release}
109 Requires: bash-completion >= 2.0
110 %if "%{_rpmversion}" >= "5"
114 %description -n bash-completion-%{name}
115 bash-completion for cmake.
117 %description -n bash-completion-%{name} -l pl.UTF-8
118 Bashowe dopełnianie parametrów dla cmake'a.
122 %if "%{_lib}" == "lib64"
125 %if "%{_lib}" == "libx32"
134 cat > "init.cmake" <<EOF
135 SET (CURSES_INCLUDE_PATH "/usr/include/ncurses" CACHE PATH " " FORCE)
136 SET (CMAKE_INSTALL_SYSCONFDIR "%{_sysconfdir}" CACHE PATH " " FORCE)
137 SET (CMAKE_INSTALL_DATADIR "%{_datadir}" CACHE PATH " " FORCE)
140 # cleanup backups after patching, modules are copied as-is
141 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
145 export CXX="%{__cxx}"
146 export CFLAGS="%{rpmcflags}"
147 export CXXFLAGS="%{rpmcxxflags}"
148 export LDFLAGS="%{rpmldflags}"
150 --prefix=%{_prefix} \
151 --mandir=/share/man \
152 --datadir=/share/cmake \
154 %{!?with_bootstrap:--system-libs} \
155 %{?with_gui:--qt-gui} \
156 --qt-qmake=%{_bindir}/qmake-qt5 \
157 %{?with_doc:--sphinx-html} \
158 %{?with_doc:--sphinx-man} \
163 %{?with_tests:%{__make} test}
166 rm -rf $RPM_BUILD_ROOT
168 DESTDIR=$RPM_BUILD_ROOT
170 %{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc
173 rm -rf $RPM_BUILD_ROOT
176 %defattr(644,root,root,755)
177 %doc Copyright.txt README.rst *.gif
178 %attr(755,root,root) %{_bindir}/ccmake
179 %attr(755,root,root) %{_bindir}/cmake
180 %attr(755,root,root) %{_bindir}/cpack
181 %attr(755,root,root) %{_bindir}/ctest
183 %{_mandir}/man1/ccmake.1*
184 %{_mandir}/man1/cmake.1*
185 %{_mandir}/man1/cpack.1*
186 %{_mandir}/man1/ctest.1*
187 %{_mandir}/man7/cmake-buildsystem.7*
188 %{_mandir}/man7/cmake-commands.7*
189 %{_mandir}/man7/cmake-compile-features.7*
190 %{_mandir}/man7/cmake-developer.7*
191 %{_mandir}/man7/cmake-generator-expressions.7*
192 %{_mandir}/man7/cmake-generators.7*
193 %{_mandir}/man7/cmake-language.7*
194 %{_mandir}/man7/cmake-modules.7*
195 %{_mandir}/man7/cmake-packages.7*
196 %{_mandir}/man7/cmake-policies.7*
197 %{_mandir}/man7/cmake-properties.7*
198 %{_mandir}/man7/cmake-qt.7*
199 %{_mandir}/man7/cmake-toolchains.7*
200 %{_mandir}/man7/cmake-variables.7*
201 %{_datadir}/cmake/Help
203 # top cmake/Modules dirs belong to filesystem
204 %{_datadir}/cmake/Modules/.NoDartCoverage
205 %{_datadir}/cmake/Modules/*
206 %{_datadir}/cmake/Templates
207 %{_datadir}/cmake/editors
208 %{_datadir}/cmake/include
209 %{_aclocaldir}/cmake.m4
213 %defattr(644,root,root,755)
214 %doc Utilities/Sphinx/html/*
219 %defattr(644,root,root,755)
220 %attr(755,root,root) %{_bindir}/cmake-gui
221 %{_datadir}/mime/packages/cmakecache.xml
222 %{_desktopdir}/CMake.desktop
223 %{_iconsdir}/hicolor/128x128/apps/CMakeSetup.png
224 %{_iconsdir}/hicolor/32x32/apps/CMakeSetup.png
225 %{_mandir}/man1/cmake-gui.1*
229 %defattr(644,root,root,755)
230 %{_datadir}/emacs/site-lisp/cmake-mode.el
232 %files -n bash-completion-%{name}
233 %defattr(644,root,root,755)
234 %{bash_compdir}/cmake
235 %{bash_compdir}/cpack
236 %{bash_compdir}/ctest