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