78 lines
2.9 KiB
CMake
78 lines
2.9 KiB
CMake
#
|
|
# Macros for cmake
|
|
#
|
|
%_cmake_lib_suffix64 -DLIB_SUFFIX=64
|
|
%_cmake_shared_libs -DBUILD_SHARED_LIBS:BOOL=ON
|
|
%_cmake_skip_rpath -DCMAKE_SKIP_RPATH:BOOL=ON
|
|
%_cmake_version @@CMAKE_VERSION@@
|
|
%__cmake /usr/bin/cmake
|
|
%__ctest /usr/bin/ctest
|
|
%_vpath_srcdir .
|
|
%_vpath_builddir build
|
|
%__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
|
|
# and default to -O3 -DNDEBUG. Strip the -O3 so we can override with *FLAGS
|
|
# - Turn on verbose makefiles so we can see and verify compile flags
|
|
# - Turn off stripping by default so RPM can do it separately
|
|
# - Set default install prefixes and library install directories
|
|
# - Turn on shared libraries by default
|
|
# openmamba: support -d option and keep old legacy behaviour if not empty
|
|
%cmake(d:) \
|
|
CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
|
|
CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
|
|
FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
|
|
%if "%{-d*}" != "" \
|
|
bdir=. \
|
|
%{-d:dir=%{-d*} ; mkdir -p $dir ; cd $dir ; bdir=.. } \
|
|
%__cmake \\\
|
|
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \\\
|
|
-DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \\\
|
|
-DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \\\
|
|
-DLIB_INSTALL_DIR:PATH=%{_libdir} \\\
|
|
-DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \\\
|
|
-DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \\\
|
|
%if "%{?_lib}" == "lib64" \
|
|
%{?_cmake_lib_suffix64} \\\
|
|
%endif \
|
|
-DBUILD_SHARED_LIBS:BOOL=ON $bdir \\\
|
|
%else \
|
|
%{set_build_flags} \
|
|
%__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" \\\
|
|
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \\\
|
|
-DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \\\
|
|
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \\\
|
|
-DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \\\
|
|
-DLIB_INSTALL_DIR:PATH=%{_libdir} \\\
|
|
-DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \\\
|
|
-DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \\\
|
|
%if "%{?_lib}" == "lib64" \
|
|
%{?_cmake_lib_suffix64} \\\
|
|
%endif \
|
|
%{?_cmake_shared_libs} \\\
|
|
%endif \
|
|
%{nil}
|
|
|
|
%cmake_build \
|
|
%__cmake --build "%{__cmake_builddir}" %{?_smp_mflags} --verbose
|
|
|
|
%cmake_install \
|
|
DESTDIR="%{buildroot}" %__cmake --install "%{__cmake_builddir}"
|
|
|
|
%ctest(:-:h:j:u:v:A:C:D:E:F:H:I:L:M:N:O:Q:R:S:T:U:V:) \
|
|
%__ctest --test-dir "%{__cmake_builddir}" --output-on-failure --force-new-ctest-process %{?_smp_mflags} %{**}
|
|
|
|
|
|
%cmake@@CMAKE_MAJOR_VERSION@@ %cmake
|
|
%cmake@@CMAKE_MAJOR_VERSION@@_build %cmake_build
|
|
%cmake@@CMAKE_MAJOR_VERSION@@_install %cmake_install
|
|
%ctest@@CMAKE_MAJOR_VERSION@@(:-:h:j:u:v:A:C:D:E:F:H:I:L:M:N:O:Q:R:S:T:U:V:) \
|
|
%ctest %{**}
|