$ git diff --patch-with-stat --summary 075ea4ac92233b9b0bd6490ef52dd639911d026a..c1455acf444dabb1b47b9f5823958917558f861d
.abf.yml | 2 +-
cmake.macros | 45 ++++++++++++++++++++++++++++++++++++++++++---
cmake.spec | 39 +++++++++++++--------------------------
3 files changed, 56 insertions(+), 30 deletions(-)
diff --git a/.abf.yml b/.abf.yml
index f761856..dde1245 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,2 @@
sources:
- cmake-3.17.1.tar.gz: c5f11d66a9c37011264400b4e36e6dd0b4ae9160
+ cmake-3.18.2.tar.gz: 23092c6a5ae9ecde368abbfda7bae0d01edb7387
diff --git a/cmake.macros b/cmake.macros
index 0dc7085..999df15 100644
--- a/cmake.macros
+++ b/cmake.macros
@@ -6,14 +6,14 @@
%_cmake_lib_suffix64 -DLIB_SUFFIX=64
%_cmake_skip_rpath -DCMAKE_SKIP_RPATH:BOOL=ON
-%_cmake_debug %{?with_debug:debug}%{?!with_debug:release}
+%_cmake_debug %{?with_debug:Debug}%{?!with_debug:RelWithDebInfo}
%_cmake_verbose %{?with_debug:-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON}%{nil}
%_cmake_version %(%{__cmake} --version|sed -e 's#.* \(\S*\)$#\1#g')
%cmake \
%set_build_flags \
- mkdir -p build \
- cd build \
+ mkdir -p ${CMAKE_BUILD_DIR:-build} \
+ cd ${CMAKE_BUILD_DIR:-build} \
%define enable_debug 1 \
%{?_enable_debug: %{expand: %%global enable_debug 1}} \
CROSSCOMPILE="" ; \
@@ -46,3 +46,42 @@
-DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS:-%{ldflags}}" \\\
-DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS:-%{ldflags}}" \\\
-DCMAKE_MODULE_LINKER_FLAGS="%(echo ${LDFLAGS:-%{ldflags}}|sed -e 's#-Wl,--no-undefined##')"
+
+%cmake32 \
+ mkdir -p ${CMAKE_BUILD_DIR32:-build32} \
+ cd ${CMAKE_BUILD_DIR32:-build32} \
+ %define enable_debug 1 \
+ %{?_enable_debug: %{expand: %%global enable_debug 1}} \
+ CROSSCOMPILE="" ; \
+%if %{cross_compiling} \
+ CROSSCOMPILE="-DCMAKE_TOOLCHAIN_FILE=\"%_prefix/%_target_platform/share/cmake/%_target_platform.toolchain\" -DCMAKE_CROSSCOMPILING:BOOL=ON" ; \
+%endif \
+ export CROSSCOMPILE ; \
+ CFLAGS32="$(echo ${CFLAGS:-%{optflags}} | sed -e 's, -m64,,g;s, -mx32,,g;s, -flto,,g') -m32" ; \
+ CXXFLAGS32="$(echo ${CXXFLAGS:-%{optflags}} | sed -e 's, -m64,,g;s, -mx32,,g;s, -flto,,g') -m32" ; \
+ LDFLAGS32="$(echo ${LDFLAGS:-%{ldflags}} | sed -e 's, -m64,,g;s, -mx32,,g;s, -flto,,g') -m32" ; \
+ CC=gcc CXX=g++ \\\
+ PKG_CONFIG_LIBDIR="%{_prefix}/lib/pkgconfig:%{_datadir}/pkgconfig:$PKG_CONFIG32_LIBDIR" \\\
+ PKG_CONFIG_PATH="%{_prefix}/lib/pkgconfig:%{_datadir}/pkgconfig:$PKG_CONFIG32_PATH" \\\
+ %__cmake .. \\\
+ $CROSSCOMPILE \\\
+ %{_cmake_skip_rpath} \\\
+ %{_cmake_verbose} \\\
+ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \\\
+ -DCMAKE_INSTALL_LIBDIR:PATH=lib \\\
+ -DLIB_INSTALL_DIR:PATH=lib \\\
+ -DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \\\
+ -DCMAKE_BUILD_TYPE=%{_cmake_debug} \\\
+ %{?_cmake_skip_rpath} \\\
+ %{?_cmake_verbose: -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON} \\\
+ -DBUILD_SHARED_LIBS:BOOL=ON \\\
+ -DBUILD_STATIC_LIBS:BOOL=OFF \\\
+ -DCMAKE_C_FLAGS="${CFLAGS32}" \\\
+ -DCMAKE_C_FLAGS_RELEASE="${CFLAGS32}" \\\
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="${CFLAGS32}" \\\
+ -DCMAKE_CXX_FLAGS="${CFLAGS32}" \\\
+ -DCMAKE_CXX_FLAGS_RELEASE="${CFLAGS32}" \\\
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="${CFLAGS32}" \\\
+ -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS32}" \\\
+ -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS32}" \\\
+ -DCMAKE_MODULE_LINKER_FLAGS="${LDFLAGS32/-Wl,--no-undefined/}"
diff --git a/cmake.spec b/cmake.spec
index 7c36774..1444586 100644
--- a/cmake.spec
+++ b/cmake.spec
@@ -13,18 +13,13 @@
%endif
%endif
-%define beta %{nil}
+#define beta rc1
Name: cmake
Summary: Cross-platform, open-source make system
-Version: 3.17.1
-%if "%{beta}" != ""
-Release: 1
-Source0: http://www.cmake.org/files/v%{shortVersion}/%{name}-%{version}-%{beta}.tar.gz
-%else
-Release: 1
-Source0: http://www.cmake.org/files/v%{shortVersion}/%{name}-%{version}.tar.gz
-%endif
+Version: 3.18.2
+Release: 2
+Source0: http://www.cmake.org/files/v%{shortVersion}/%{name}-%{version}%{?beta:-%{beta}}.tar.gz
License: BSD
Group: Development/Other
Url: http://www.cmake.org/HTML/index.html
@@ -50,10 +45,10 @@ BuildRequires: xz
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(libarchive)
-BuildRequires: pkgconfig(libzstd)
%if !%{with bootstrap}
# We need a copy of ourselves for the cmake(*) dependency generator to work
# and create all the cmake(*) Provides for the built-in modules
+BuildRequires: pkgconfig(libzstd)
BuildRequires: cmake
BuildRequires: cmake(jsoncpp)
%endif
@@ -101,6 +96,7 @@ generation, and template instantiation.
%{_datadir}/emacs/site-lisp/cmake-mode.el
%{_datadir}/vim/*/*
%{_datadir}/aclocal/cmake.m4
+%{_datadir}/bash-completion/completions/*
%package doc
Summary: Documentation for %{name}
@@ -142,11 +138,7 @@ This is the Qt GUI.
#-----------------------------------------------------------------------------
%prep
-%if "%{beta}" != ""
-%autosetup -n %{name}-%{version}-%{beta} -p1
-%else
-%autosetup -p1
-%endif
+%autosetup -n %{name}-%{version}%{?beta:-%{beta}} -p1
# Don't try to automagically find files in /usr/X11R6
# But also don't change a prefix if it is not /usr
@@ -162,7 +154,7 @@ sed -i -e 's!SET(CMAKE_LONG_TEST_TIMEOUT 1500)!SET(CMAKE_LONG_TEST_TIMEOUT 7200)
mkdir -p build
cd build
%setup_compile_flags
-../configure \
+if ! ../configure \
--system-libs \
--prefix=%{_prefix} \
--datadir=/share/%{name} \
@@ -176,19 +168,18 @@ cd build
--no-system-jsoncpp \
--no-system-librhash \
%endif
- --parallel=%{_smp_mflags}
+ --parallel=%{_smp_mflags}; then
+ cat Bootstrap.cmk/cmake_bootstrap.log
+ exit 1
+fi
%make_build
%install
%make_install -C build
-# vim syntax highlighting and indentation rules...
-mv %{buildroot}%{_datadir}/cmake/editors/vim %{buildroot}%{_datadir}
-
# cmake mode for emacs
-mkdir -p %{buildroot}%{_datadir}/emacs/site-lisp %{buildroot}%{_sysconfdir}/emacs/site-start.d
-mv %{buildroot}%{_datadir}/cmake/editors/emacs/cmake-mode.el %{buildroot}%{_datadir}/emacs/site-lisp/cmake-mode.el
+mkdir -p %{buildroot}%{_sysconfdir}/emacs/site-start.d
cat <<EOF >%{buildroot}%{_sysconfdir}/emacs/site-start.d/%{name}.el
(setq load-path (cons (expand-file-name "/dir/with/cmake-mode") load-path))
(require 'cmake-mode)
@@ -198,10 +189,6 @@ cat <<EOF >%{buildroot}%{_sysconfdir}/emacs/site-start.d/%{name}.el
auto-mode-alist))
EOF
-# remove directory we just cleared by moving files where editors
-# will actually find them
-rm -rf %{buildroot}%{_datadir}/cmake/editors
-
# RPM macros and dependency generators
install -m644 %{S:1} -D %{buildroot}%{_rpmmacrodir}/macros.cmake
install -m644 %{S:2} -D %{buildroot}%{_rpmconfigdir}/fileattrs/%{name}.attr