From 6de97d44342ac2a2856f427c3ac648bb6f50abcc Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 4 Mar 2021 12:56:11 +0800 Subject: [PATCH] ceph.spec: prepare for out-of-source build see also https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds Signed-off-by: Kefu Chai --- ceph.spec.in | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/ceph.spec.in b/ceph.spec.in index bff4eaba3df07..88e5baa0ccabf 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -1230,8 +1230,11 @@ export CXXFLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g') env | sort -mkdir build -cd build +%{?!_vpath_builddir:%global _vpath_builddir %{_target_platform}} + +# TODO: drop this step once we can use `cmake -B` +mkdir -p %{_vpath_builddir} +pushd %{_vpath_builddir} cmake .. \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \ @@ -1319,16 +1322,19 @@ make %{_smp_mflags} %make_build %endif +popd + %if 0%{with make_check} %check # run in-tree unittests -cd build +pushd %{_vpath_builddir} ctest %{_smp_mflags} +popd %endif %install -pushd build +pushd %{_vpath_builddir} %make_install # we have dropped sysvinit bits rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph -- 2.39.5