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