| |
@@ -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 \\\
|
| |
+ %{!?__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" \\\
|
| |
@@ -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
|
| |
These are synced from the version of these macros for Fedora 31/32,
which default to in-source builds but support out-of-source builds
when
%__cmake_in_source_build
is undefined.Additionally, this introduces the generic
%cmake_build
,%cmake_install
,and
%ctest
macros for controlling a CMake build regardless of chosenbackend.
Reference: https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds