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: http://www.cmake.org/files/v3.3/%{name}-%{version}.tar.gz
22 # Source0-md5: 5febbd11bcaac854a27eebaf4a124be2
23 Patch0: %{name}-lib64.patch
24 Patch1: %{name}-helpers.patch
25 Patch2: %{name}-findruby.patch
26 Patch3: cmake-min-ver.patch
27 Patch5: %{name}-findruby2.patch
28 Patch6: %{name}-findpython.patch
29 Patch7: %{name}-libx32.patch
30 URL: http://www.cmake.org/
31 %{?with_gui:BuildRequires: QtGui-devel}
32 BuildRequires: jsoncpp-devel >= 1.6.2-2
33 BuildRequires: libarchive-devel
34 BuildRequires: libstdc++-devel
35 BuildRequires: ncurses-devel > 5.9-3
36 %{?with_gui:BuildRequires: qt5-build}
37 %{?with_gui:BuildRequires: qt5-qmake}
38 BuildRequires: rpmbuild(macros) >= 1.167
39 %{?with_doc:BuildRequires: sphinx-pdg}
40 %{!?with_bootstrap:BuildRequires: xmlrpc-c-devel >= 1.4.12-2}
41 Requires: filesystem >= 3.0-52
42 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45 CMake is used to control the software compilation process using simple
46 platform and compiler independent configuration files. CMake generates
47 native makefiles and workspaces that can be used in the compiler
48 environment of your choice. CMake is quite sophisticated: it is
49 possible to support complex environments requiring system
50 configuration, pre-processor generation, code generation, and template
53 %description -l pl.UTF-8
54 CMake służy do sterowania procesem kompilacji oprogramowania przy
55 użyciu prostych plików konfiguracyjnych niezależnych od platformy i
56 kompilatora. CMake generuje natywne pliki makefile i workspace,
57 których można używać w wybranym środowisku kompilatora. CMake jest
58 dość wyrafinowany: może obsłużyć złożone środowiska wymagające
59 konfiguracji systemu, generowanie preprocesora, generowanie kodu i
60 dziedziczenie szablonów.
63 Summary: CMake documentation in HTML format
64 Summary(pl.UTF-8): Dokumentacja do pakietu CMake w formacie HTML
68 CMake documentation in HTML format.
70 %description doc-html -l pl.UTF-8
71 Dokumentacja do pakietu CMake w formacie HTML.
74 Summary: Qt GUI for CMake
75 Summary(pl.UTF-8): Graficzny interfejs użytkownika Qt dla CMake
76 Group: Development/Tools
77 Requires: %{name} = %{version}-%{release}
80 This package contains the Qt based GUI for CMake.
82 %description gui -l pl.UTF-8
83 Ten pakiet zawiera oparty na Qt graficzny interfejs użytkownika dla
87 Summary: Emacs mode for cmake files
88 Summary(pl.UTF-8): Tryb Emacsa dla plików cmake'a
89 Group: Development/Tools
92 Emacs mode for cmake files.
94 %description emacs -l pl.UTF-8
95 Tryb Emacsa dla plików cmake'a.
97 %package -n bash-completion-%{name}
98 Summary: bash-completion for cmake
99 Summary(pl.UTF-8): Bashowe dopełnianie parametrów dla cmake'a
100 Group: Applications/Shells
101 Requires: %{name} = %{version}-%{release}
102 Requires: bash-completion >= 2.0
103 %if "%{_rpmversion}" >= "5"
107 %description -n bash-completion-%{name}
108 bash-completion for cmake.
110 %description -n bash-completion-%{name} -l pl.UTF-8
111 Bashowe dopełnianie parametrów dla cmake'a.
115 %if "%{_lib}" == "lib64"
124 %if "%{_lib}" == "libx32"
128 cat > "init.cmake" <<EOF
129 SET (CURSES_INCLUDE_PATH "/usr/include/ncurses" CACHE PATH " " FORCE)
130 SET (CMAKE_INSTALL_SYSCONFDIR "%{_sysconfdir}" CACHE PATH " " FORCE)
131 SET (CMAKE_INSTALL_DATADIR "%{_datadir}" CACHE PATH " " FORCE)
134 # cleanup backups after patching, modules are copied as-is
135 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
139 export CXX="%{__cxx}"
140 export CFLAGS="%{rpmcflags}"
141 export CXXFLAGS="%{rpmcxxflags}"
142 export LDFLAGS="%{rpmldflags}"
144 --prefix=%{_prefix} \
145 --mandir=/share/man \
146 --datadir=/share/cmake \
148 %{!?with_bootstrap:--system-libs} \
149 %{?with_gui:--qt-gui} \
150 --qt-qmake=%{_bindir}/qmake-qt4 \
151 %{?with_doc:--sphinx-html} \
152 %{?with_doc:--sphinx-man} \
157 %{?with_tests:%{__make} test}
160 rm -rf $RPM_BUILD_ROOT
162 DESTDIR=$RPM_BUILD_ROOT
164 %{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc
167 rm -rf $RPM_BUILD_ROOT
170 %defattr(644,root,root,755)
171 %doc Copyright.txt README.rst *.gif
172 %attr(755,root,root) %{_bindir}/ccmake
173 %attr(755,root,root) %{_bindir}/cmake
174 %attr(755,root,root) %{_bindir}/cpack
175 %attr(755,root,root) %{_bindir}/ctest
177 %{_mandir}/man1/ccmake.1*
178 %{_mandir}/man1/cmake.1*
179 %{_mandir}/man1/cpack.1*
180 %{_mandir}/man1/ctest.1*
181 %{_mandir}/man7/cmake-buildsystem.7*
182 %{_mandir}/man7/cmake-commands.7*
183 %{_mandir}/man7/cmake-compile-features.7*
184 %{_mandir}/man7/cmake-developer.7*
185 %{_mandir}/man7/cmake-generator-expressions.7*
186 %{_mandir}/man7/cmake-generators.7*
187 %{_mandir}/man7/cmake-language.7*
188 %{_mandir}/man7/cmake-modules.7*
189 %{_mandir}/man7/cmake-packages.7*
190 %{_mandir}/man7/cmake-policies.7*
191 %{_mandir}/man7/cmake-properties.7*
192 %{_mandir}/man7/cmake-qt.7*
193 %{_mandir}/man7/cmake-toolchains.7*
194 %{_mandir}/man7/cmake-variables.7*
195 %{_datadir}/cmake/Help
197 # top cmake/Modules dirs belong to filesystem
198 %{_datadir}/cmake/Modules/.NoDartCoverage
199 %{_datadir}/cmake/Modules/*
200 %{_datadir}/cmake/Templates
201 %{_datadir}/cmake/editors
202 %{_datadir}/cmake/include
203 %{_aclocaldir}/cmake.m4
207 %defattr(644,root,root,755)
208 %doc Utilities/Sphinx/html/*
213 %defattr(644,root,root,755)
214 %attr(755,root,root) %{_bindir}/cmake-gui
215 %{_datadir}/mime/packages/cmakecache.xml
216 %{_desktopdir}/CMake.desktop
217 %{_iconsdir}/hicolor/128x128/apps/CMakeSetup.png
218 %{_iconsdir}/hicolor/32x32/apps/CMakeSetup.png
219 %{_mandir}/man1/cmake-gui.1*
223 %defattr(644,root,root,755)
224 %{_datadir}/emacs/site-lisp/cmake-mode.el
226 %files -n bash-completion-%{name}
227 %defattr(644,root,root,755)
228 %{bash_compdir}/cmake
229 %{bash_compdir}/cpack
230 %{bash_compdir}/ctest