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.7/%{name}-%{version}.tar.gz
22 # Source0-md5: 79bd7e65cd81ea3aa2619484ad6ff25a
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: libuv-devel
42 BuildRequires: ncurses-devel > 5.9-3
43 %{?with_gui:BuildRequires: qt5-build >= 5.0}
44 %{?with_gui:BuildRequires: qt5-qmake >= 5.0}
45 BuildRequires: rpmbuild(macros) >= 1.167
46 %{?with_doc:BuildRequires: sphinx-pdg}
47 %{!?with_bootstrap:BuildRequires: xmlrpc-c-devel >= 1.4.12-2}
48 BuildRequires: zlib-devel
49 Requires: filesystem >= 3.0-52
50 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53 CMake is used to control the software compilation process using simple
54 platform and compiler independent configuration files. CMake generates
55 native makefiles and workspaces that can be used in the compiler
56 environment of your choice. CMake is quite sophisticated: it is
57 possible to support complex environments requiring system
58 configuration, pre-processor generation, code generation, and template
61 %description -l pl.UTF-8
62 CMake służy do sterowania procesem kompilacji oprogramowania przy
63 użyciu prostych plików konfiguracyjnych niezależnych od platformy i
64 kompilatora. CMake generuje natywne pliki makefile i workspace,
65 których można używać w wybranym środowisku kompilatora. CMake jest
66 dość wyrafinowany: może obsłużyć złożone środowiska wymagające
67 konfiguracji systemu, generowanie preprocesora, generowanie kodu i
68 dziedziczenie szablonów.
71 Summary: CMake documentation in HTML format
72 Summary(pl.UTF-8): Dokumentacja do pakietu CMake w formacie HTML
76 CMake documentation in HTML format.
78 %description doc-html -l pl.UTF-8
79 Dokumentacja do pakietu CMake w formacie HTML.
82 Summary: Qt GUI for CMake
83 Summary(pl.UTF-8): Graficzny interfejs użytkownika Qt dla CMake
84 Group: Development/Tools
85 Requires: %{name} = %{version}-%{release}
88 This package contains the Qt based GUI for CMake.
90 %description gui -l pl.UTF-8
91 Ten pakiet zawiera oparty na Qt graficzny interfejs użytkownika dla
95 Summary: Emacs mode for cmake files
96 Summary(pl.UTF-8): Tryb Emacsa dla plików cmake'a
97 Group: Development/Tools
100 Emacs mode for cmake files.
102 %description emacs -l pl.UTF-8
103 Tryb Emacsa dla plików cmake'a.
105 %package -n bash-completion-%{name}
106 Summary: bash-completion for cmake
107 Summary(pl.UTF-8): Bashowe dopełnianie parametrów dla cmake'a
108 Group: Applications/Shells
109 Requires: %{name} = %{version}-%{release}
110 Requires: bash-completion >= 2.0
111 %if "%{_rpmversion}" >= "5"
115 %description -n bash-completion-%{name}
116 bash-completion for cmake.
118 %description -n bash-completion-%{name} -l pl.UTF-8
119 Bashowe dopełnianie parametrów dla cmake'a.
123 %if "%{_lib}" == "lib64"
126 %if "%{_lib}" == "libx32"
135 cat > "init.cmake" <<EOF
136 SET (CURSES_INCLUDE_PATH "/usr/include/ncurses" CACHE PATH " " FORCE)
137 SET (CMAKE_INSTALL_SYSCONFDIR "%{_sysconfdir}" CACHE PATH " " FORCE)
138 SET (CMAKE_INSTALL_DATADIR "%{_datadir}" CACHE PATH " " FORCE)
141 # cleanup backups after patching, modules are copied as-is
142 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
146 export CXX="%{__cxx}"
147 export CFLAGS="%{rpmcflags}"
148 export CXXFLAGS="%{rpmcxxflags}"
149 export LDFLAGS="%{rpmldflags}"
151 --prefix=%{_prefix} \
152 --mandir=/share/man \
153 --datadir=/share/cmake \
155 %{!?with_bootstrap:--system-libs} \
156 %{?with_gui:--qt-gui} \
157 --qt-qmake=%{_bindir}/qmake-qt5 \
158 %{?with_doc:--sphinx-html} \
159 %{?with_doc:--sphinx-man} \
164 %{?with_tests:%{__make} test}
167 rm -rf $RPM_BUILD_ROOT
169 DESTDIR=$RPM_BUILD_ROOT
171 %{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc
174 rm -rf $RPM_BUILD_ROOT
177 %defattr(644,root,root,755)
178 %doc Copyright.txt README.rst *.gif
179 %attr(755,root,root) %{_bindir}/ccmake
180 %attr(755,root,root) %{_bindir}/cmake
181 %attr(755,root,root) %{_bindir}/cpack
182 %attr(755,root,root) %{_bindir}/ctest
184 %{_mandir}/man1/ccmake.1*
185 %{_mandir}/man1/cmake.1*
186 %{_mandir}/man1/cpack.1*
187 %{_mandir}/man1/ctest.1*
188 %{_mandir}/man7/cmake-buildsystem.7*
189 %{_mandir}/man7/cmake-commands.7*
190 %{_mandir}/man7/cmake-compile-features.7*
191 %{_mandir}/man7/cmake-developer.7*
192 %{_mandir}/man7/cmake-generator-expressions.7*
193 %{_mandir}/man7/cmake-generators.7*
194 %{_mandir}/man7/cmake-language.7*
195 %{_mandir}/man7/cmake-modules.7*
196 %{_mandir}/man7/cmake-packages.7*
197 %{_mandir}/man7/cmake-policies.7*
198 %{_mandir}/man7/cmake-properties.7*
199 %{_mandir}/man7/cmake-qt.7*
200 %{_mandir}/man7/cmake-server.7*
201 %{_mandir}/man7/cmake-toolchains.7*
202 %{_mandir}/man7/cmake-variables.7*
203 %{_datadir}/cmake/Help
205 # top cmake/Modules dirs belong to filesystem
206 %{_datadir}/cmake/Modules/.NoDartCoverage
207 %{_datadir}/cmake/Modules/*
208 %{_datadir}/cmake/Templates
209 %{_datadir}/cmake/editors
210 %{_datadir}/cmake/include
211 %{_aclocaldir}/cmake.m4
215 %defattr(644,root,root,755)
216 %doc Utilities/Sphinx/html/*
221 %defattr(644,root,root,755)
222 %attr(755,root,root) %{_bindir}/cmake-gui
223 %{_datadir}/mime/packages/cmakecache.xml
224 %{_desktopdir}/CMake.desktop
225 %{_iconsdir}/hicolor/128x128/apps/CMakeSetup.png
226 %{_iconsdir}/hicolor/32x32/apps/CMakeSetup.png
227 %{_mandir}/man1/cmake-gui.1*
231 %defattr(644,root,root,755)
232 %{_datadir}/emacs/site-lisp/cmake-mode.el
234 %files -n bash-completion-%{name}
235 %defattr(644,root,root,755)
236 %{bash_compdir}/cmake
237 %{bash_compdir}/cpack
238 %{bash_compdir}/ctest