From d9ac0c8d8d95f6283d77e0617e341889fc0b3236 Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Fri, 3 Jul 2020 19:52:09 +0200 Subject: [PATCH 1/8] Add %cmake_build/%cmake_install/%ctest macros with support of out-of-source builds Signed-off-by: Igor Raits Reviewed-by: Neal Gompa --- cmake.spec | 6 +++++- macros.cmake | 22 +++++++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/cmake.spec b/cmake.spec index 23cb7c2..8ac7f28 100644 --- a/cmake.spec +++ b/cmake.spec @@ -67,7 +67,7 @@ Name: %{orig_name}%{?name_suffix} Version: %{major_version}.%{minor_version}.3 -Release: 1%{?relsuf}%{?dist} +Release: 2%{?relsuf}%{?dist} Summary: Cross-platform make system # most sources are BSD @@ -493,6 +493,10 @@ mv -f Modules/FindLibArchive.disabled Modules/FindLibArchive.cmake %changelog +* Fri Jul 03 2020 Igor Raits - 3.17.3-2 +- Add %%cmake_build/%%cmake_install/%%ctest macros +- Add %%__cmake_in_source_build macro to control in-source/out-of-source builds + * Fri May 29 2020 Björn Esser - 3.17.3-1 - Update to cmake-3.17.3 diff --git a/macros.cmake b/macros.cmake index ebfebee..8440d93 100644 --- a/macros.cmake +++ b/macros.cmake @@ -6,6 +6,9 @@ %_cmake_skip_rpath -DCMAKE_SKIP_RPATH:BOOL=ON %_cmake_version @@CMAKE_VERSION@@ %__cmake /usr/bin/cmake +%__ctest /usr/bin/ctest +%__cmake_in_source_build 1 +%__cmake_builddir %{!?__cmake_in_source_build:%{_vpath_builddir}}%{?__cmake_in_source_build:.} # - Set default compile flags # - CMAKE_*_FLAGS_RELEASE are added *after* the *FLAGS environment variables @@ -24,6 +27,8 @@ %{?__global_ldflags:LDFLAGS="${LDFLAGS:-%__global_ldflags}" ; export LDFLAGS ;} \ %endif \ %__cmake \\\ + -S "%{_vpath_srcdir}" \\\ + -B "%{__cmake_builddir}" \\\ -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \\\ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \\\ -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \\\ @@ -36,6 +41,21 @@ %if "%{?_lib}" == "lib64" \ %{?_cmake_lib_suffix64} \\\ %endif \ - %{?_cmake_shared_libs} + %{?_cmake_shared_libs} + +%cmake_build \ + %__cmake --build "%{__cmake_builddir}" %{?_smp_mflags} --verbose + +%cmake_install \ + DESTDIR="%{buildroot}" %__cmake --install "%{__cmake_builddir}" + +%ctest(:-:) \ + cd "%{__cmake_builddir}" \ + %__ctest --output-on-failure --force-new-ctest-process %{?_smp_mflags} %{**} \ + cd - + %cmake@@CMAKE_MAJOR_VERSION@@ %cmake +%cmake@@CMAKE_MAJOR_VERSION@@_build %cmake_build +%cmake@@CMAKE_MAJOR_VERSION@@_install %cmake_install +%ctest@@CMAKE_MAJOR_VERSION@@ %ctest From 19fa547d6f186885b912550659d8593c92cf868b Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Sun, 19 Jul 2020 08:47:24 -0400 Subject: [PATCH 2/8] Make in-source builds behave like before --- cmake.spec | 5 ++++- macros.cmake | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/cmake.spec b/cmake.spec index 8ac7f28..d770962 100644 --- a/cmake.spec +++ b/cmake.spec @@ -67,7 +67,7 @@ Name: %{orig_name}%{?name_suffix} Version: %{major_version}.%{minor_version}.3 -Release: 2%{?relsuf}%{?dist} +Release: 3%{?relsuf}%{?dist} Summary: Cross-platform make system # most sources are BSD @@ -493,6 +493,9 @@ mv -f Modules/FindLibArchive.disabled Modules/FindLibArchive.cmake %changelog +* Sun Jul 19 2020 Neal Gompa - 3.17.3-3 +- Make in-source builds behave like before + * Fri Jul 03 2020 Igor Raits - 3.17.3-2 - Add %%cmake_build/%%cmake_install/%%ctest macros - Add %%__cmake_in_source_build macro to control in-source/out-of-source builds diff --git a/macros.cmake b/macros.cmake index 8440d93..6bd0ede 100644 --- a/macros.cmake +++ b/macros.cmake @@ -27,8 +27,8 @@ %{?__global_ldflags:LDFLAGS="${LDFLAGS:-%__global_ldflags}" ; export LDFLAGS ;} \ %endif \ %__cmake \\\ - -S "%{_vpath_srcdir}" \\\ - -B "%{__cmake_builddir}" \\\ + %{!?__cmake_in_source_build:-S "%{_vpath_srcdir}"} \\\ + %{!?__cmake_in_source_build:-B "%{__cmake_builddir}"} \\\ -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \\\ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \\\ -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \\\ From 38e20bdffda2ec14ed5fb11d655c67c31a3af004 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 21 Jul 2020 20:36:38 -0600 Subject: [PATCH 3/8] Default to --verbose for ctest as well --- macros.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros.cmake b/macros.cmake index 6bd0ede..c75e846 100644 --- a/macros.cmake +++ b/macros.cmake @@ -51,7 +51,7 @@ %ctest(:-:) \ cd "%{__cmake_builddir}" \ - %__ctest --output-on-failure --force-new-ctest-process %{?_smp_mflags} %{**} \ + %__ctest --output-on-failure --force-new-ctest-process %{?_smp_mflags} --verbose %{**} \ cd - From 4b37a14e41b82114df448ad0c761eebfe4df8fb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Wed, 22 Jul 2020 22:26:04 +0200 Subject: [PATCH 4/8] Default to --verbose for ctest as well --- cmake.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmake.spec b/cmake.spec index d770962..1dbd631 100644 --- a/cmake.spec +++ b/cmake.spec @@ -67,7 +67,7 @@ Name: %{orig_name}%{?name_suffix} Version: %{major_version}.%{minor_version}.3 -Release: 3%{?relsuf}%{?dist} +Release: 4%{?relsuf}%{?dist} Summary: Cross-platform make system # most sources are BSD @@ -493,6 +493,9 @@ mv -f Modules/FindLibArchive.disabled Modules/FindLibArchive.cmake %changelog +* Wed Jul 22 2020 Björn Esser - 3.17.3-4 +- Default to --verbose for ctest as well + * Sun Jul 19 2020 Neal Gompa - 3.17.3-3 - Make in-source builds behave like before From 178a632be6f867923b0100f499d0c0f98b0c9ec7 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 29 Jul 2020 22:03:29 -0600 Subject: [PATCH 5/8] Handle arguments for ctest3 macro --- cmake.spec | 5 ++++- macros.cmake | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cmake.spec b/cmake.spec index 1dbd631..37847ef 100644 --- a/cmake.spec +++ b/cmake.spec @@ -67,7 +67,7 @@ Name: %{orig_name}%{?name_suffix} Version: %{major_version}.%{minor_version}.3 -Release: 4%{?relsuf}%{?dist} +Release: 5%{?relsuf}%{?dist} Summary: Cross-platform make system # most sources are BSD @@ -493,6 +493,9 @@ mv -f Modules/FindLibArchive.disabled Modules/FindLibArchive.cmake %changelog +* Wed Jul 29 2020 Orion Poplawski - 3.17.3-5 +- Handle arguments for ctest3 macro + * Wed Jul 22 2020 Björn Esser - 3.17.3-4 - Default to --verbose for ctest as well diff --git a/macros.cmake b/macros.cmake index c75e846..2f442b6 100644 --- a/macros.cmake +++ b/macros.cmake @@ -58,4 +58,4 @@ %cmake@@CMAKE_MAJOR_VERSION@@ %cmake %cmake@@CMAKE_MAJOR_VERSION@@_build %cmake_build %cmake@@CMAKE_MAJOR_VERSION@@_install %cmake_install -%ctest@@CMAKE_MAJOR_VERSION@@ %ctest +%ctest@@CMAKE_MAJOR_VERSION@@(:-:) %ctest %{**} From 19f677ebcefbe54687f5c2f74709d982645f7de6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 1 Aug 2020 13:55:32 +0200 Subject: [PATCH 6/8] Update to cmake-3.17.4 --- cmake.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/cmake.spec b/cmake.spec index 37847ef..4f7e784 100644 --- a/cmake.spec +++ b/cmake.spec @@ -66,8 +66,8 @@ %global orig_name cmake Name: %{orig_name}%{?name_suffix} -Version: %{major_version}.%{minor_version}.3 -Release: 5%{?relsuf}%{?dist} +Version: %{major_version}.%{minor_version}.4 +Release: 1%{?relsuf}%{?dist} Summary: Cross-platform make system # most sources are BSD @@ -493,6 +493,9 @@ mv -f Modules/FindLibArchive.disabled Modules/FindLibArchive.cmake %changelog +* Sat Aug 01 2020 Björn Esser - 3.17.4-1 +- Update to cmake-3.17.4 + * Wed Jul 29 2020 Orion Poplawski - 3.17.3-5 - Handle arguments for ctest3 macro diff --git a/sources b/sources index 626b891..c14c35f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cmake-3.17.3.tar.gz) = 13479bd48ef8a8c95277a62b4f42e63152a5979292a98b5456022ca42ad3963cad75e917cc8b92a8485dbf5a2b59cde3fdc90fd9abdb806bc97c8570d03c1c69 +SHA512 (cmake-3.17.4.tar.gz) = 6af879502e52388f3be02a4edfb006274840ad1afa8f28ffd6ec69b0310c7f718812b2272e5f77ffa422717f61407a6d482deb95941555c21c73fc5f62356a4e From aeb564c87ae9d33ca5cb6a57660d56b0c814b1d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Wed, 30 Sep 2020 13:05:31 +0200 Subject: [PATCH 7/8] Revert "Default to --verbose for ctest as well" This reverts commit 38e20bdffda2ec14ed5fb11d655c67c31a3af004. --- cmake.spec | 5 ++++- macros.cmake | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cmake.spec b/cmake.spec index 4f7e784..5df68d8 100644 --- a/cmake.spec +++ b/cmake.spec @@ -67,7 +67,7 @@ Name: %{orig_name}%{?name_suffix} Version: %{major_version}.%{minor_version}.4 -Release: 1%{?relsuf}%{?dist} +Release: 2%{?relsuf}%{?dist} Summary: Cross-platform make system # most sources are BSD @@ -493,6 +493,9 @@ mv -f Modules/FindLibArchive.disabled Modules/FindLibArchive.cmake %changelog +* Wed Sep 30 13:05:42 CEST 2020 Björn Esser - 3.17.4-2 +- Make %ctest non-verbose by default + * Sat Aug 01 2020 Björn Esser - 3.17.4-1 - Update to cmake-3.17.4 diff --git a/macros.cmake b/macros.cmake index 2f442b6..b8a5182 100644 --- a/macros.cmake +++ b/macros.cmake @@ -51,7 +51,7 @@ %ctest(:-:) \ cd "%{__cmake_builddir}" \ - %__ctest --output-on-failure --force-new-ctest-process %{?_smp_mflags} --verbose %{**} \ + %__ctest --output-on-failure --force-new-ctest-process %{?_smp_mflags} %{**} \ cd - From 658dff1c7e4222b7dd1989995bc48157e54593ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Wed, 30 Sep 2020 13:12:58 +0200 Subject: [PATCH 8/8] Explicitly require make --- cmake.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmake.spec b/cmake.spec index 5df68d8..1cabba4 100644 --- a/cmake.spec +++ b/cmake.spec @@ -174,6 +174,9 @@ Requires: %{name}-data = %{version}-%{release} Requires: %{name}-rpm-macros = %{version}-%{release} Requires: %{name}-filesystem%{?_isa} = %{version}-%{release} +# Explicitly require make. (rhbz#1862014) +Requires: make + # Provide the major version name Provides: %{orig_name}%{major_version} = %{version}-%{release} @@ -495,6 +498,7 @@ mv -f Modules/FindLibArchive.disabled Modules/FindLibArchive.cmake %changelog * Wed Sep 30 13:05:42 CEST 2020 Björn Esser - 3.17.4-2 - Make %ctest non-verbose by default +- Explicitly require make * Sat Aug 01 2020 Björn Esser - 3.17.4-1 - Update to cmake-3.17.4