# TODO: # - system kwiml? # - make lib64/libx32 patch changes applicable everywhere # - any valid CMAKE_BUILD_TYPE causes overriding of our optflags # (and default non-verbose makefiles are hiding it!) # - rpmldflags/rpmcppflags are not passed through %%cmake macro at all # (is there any standard way???) # # Conditional build: %bcond_with bootstrap # use internal versions of some libraries %bcond_without gui # don't build gui package %bcond_with xmlrpc # XMLRPC submission method in CTest %bcond_with tests # perform "make test" %bcond_without doc # don't build documentation %if %{with bootstrap} %undefine with_xmlrpc %endif Summary: Cross-platform, open-source make system Summary(pl.UTF-8): Wieloplatformowy system make o otwartych źródłach Name: cmake Version: 3.12.4 Release: 1 License: BSD Group: Development/Building Source0: https://cmake.org/files/v3.12/%{name}-%{version}.tar.gz # Source0-md5: 4970869480ee37c8f4c8e7f83c4359cd Patch0: %{name}-lib64.patch Patch1: %{name}-libx32.patch Patch2: %{name}-helpers.patch Patch3: %{name}-findruby.patch Patch4: %{name}-findruby2.patch Patch5: man-syntax.patch Patch7: %{name}-xmlrpc.patch URL: https://cmake.org/ %if %{with gui} BuildRequires: Qt5Core-devel >= 5.0 BuildRequires: Qt5Gui-devel >= 5.0 BuildRequires: Qt5Widgets-devel >= 5.0 %endif %{!?with_xmlrpc:BuildRequires: curl-devel} BuildRequires: expat-devel BuildRequires: jsoncpp-devel >= 1.6.2-2 BuildRequires: libarchive-devel BuildRequires: libstdc++-devel BuildRequires: libuv-devel BuildRequires: ncurses-devel > 5.9-3 %{?with_gui:BuildRequires: qt5-build >= 5.0} %{?with_gui:BuildRequires: qt5-qmake >= 5.0} BuildRequires: rhash-devel BuildRequires: rpmbuild(macros) >= 1.167 %{?with_doc:BuildRequires: sphinx-pdg} %{?with_xmlrpc:BuildRequires: xmlrpc-c-devel >= 1.4.12-2} %{!?with_xmlrpc:BuildRequires: zlib-devel} Requires: filesystem >= 3.0-52 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice. CMake is quite sophisticated: it is possible to support complex environments requiring system configuration, pre-processor generation, code generation, and template instantiation. %description -l pl.UTF-8 CMake służy do sterowania procesem kompilacji oprogramowania przy użyciu prostych plików konfiguracyjnych niezależnych od platformy i kompilatora. CMake generuje natywne pliki makefile i workspace, których można używać w wybranym środowisku kompilatora. CMake jest dość wyrafinowany: może obsłużyć złożone środowiska wymagające konfiguracji systemu, generowanie preprocesora, generowanie kodu i dziedziczenie szablonów. %package doc-html Summary: CMake documentation in HTML format Summary(pl.UTF-8): Dokumentacja do pakietu CMake w formacie HTML Group: Documentation %description doc-html CMake documentation in HTML format. %description doc-html -l pl.UTF-8 Dokumentacja do pakietu CMake w formacie HTML. %package gui Summary: Qt GUI for CMake Summary(pl.UTF-8): Graficzny interfejs użytkownika Qt dla CMake Group: Development/Tools Requires: %{name} = %{version}-%{release} %description gui This package contains the Qt based GUI for CMake. %description gui -l pl.UTF-8 Ten pakiet zawiera oparty na Qt graficzny interfejs użytkownika dla CMake. %package emacs Summary: Emacs mode for cmake files Summary(pl.UTF-8): Tryb Emacsa dla plików cmake'a Group: Development/Tools %description emacs Emacs mode for cmake files. %description emacs -l pl.UTF-8 Tryb Emacsa dla plików cmake'a. %package -n bash-completion-%{name} Summary: bash-completion for cmake Summary(pl.UTF-8): Bashowe dopełnianie parametrów dla cmake'a Group: Applications/Shells Requires: %{name} = %{version}-%{release} Requires: bash-completion >= 2.0 %if "%{_rpmversion}" >= "5" BuildArch: noarch %endif %description -n bash-completion-%{name} bash-completion for cmake. %description -n bash-completion-%{name} -l pl.UTF-8 Bashowe dopełnianie parametrów dla cmake'a. %prep %setup -q %if "%{_lib}" == "lib64" %patch0 -p1 %endif %if "%{_lib}" == "libx32" %patch1 -p1 %endif %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch7 -p1 cat > "init.cmake" <