| 1 | #
|
|---|
| 2 | # Macros for cmake
|
|---|
| 3 | #
|
|---|
| 4 | %_cmake_lib_suffix64 -DLIB_SUFFIX=64
|
|---|
| 5 | %_cmake_shared_libs -DBUILD_SHARED_LIBS:BOOL=ON
|
|---|
| 6 | %_cmake_skip_rpath -DCMAKE_SKIP_RPATH:BOOL=ON
|
|---|
| 7 | %_cmake_version @@CMAKE_VERSION@@
|
|---|
| 8 | %__cmake /usr/bin/cmake
|
|---|
| 9 | %__ctest /usr/bin/ctest
|
|---|
| 10 | %__cmake_builddir %{!?__cmake_in_source_build:%{_vpath_builddir}}%{?__cmake_in_source_build:.}
|
|---|
| 11 |
|
|---|
| 12 | # - Set default compile flags
|
|---|
| 13 | # - CMAKE_*_FLAGS_RELEASE are added *after* the *FLAGS environment variables
|
|---|
| 14 | # and default to -O3 -DNDEBUG. Strip the -O3 so we can override with *FLAGS
|
|---|
| 15 | # - Turn on verbose makefiles so we can see and verify compile flags
|
|---|
| 16 | # - Turn off stripping by default so RPM can do it separately
|
|---|
| 17 | # - Set default install prefixes and library install directories
|
|---|
| 18 | # - Turn on shared libraries by default
|
|---|
| 19 | %cmake \
|
|---|
| 20 | %if 0%{?set_build_flags:1} \
|
|---|
| 21 | %set_build_flags \
|
|---|
| 22 | %else \
|
|---|
| 23 | CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
|
|---|
| 24 | CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
|
|---|
| 25 | FFLAGS="${FFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" ; export FFLAGS ; \
|
|---|
| 26 | FCFLAGS="${FCFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" ; export FCFLAGS ; \
|
|---|
| 27 | %{?__global_ldflags:LDFLAGS="${LDFLAGS:-%__global_ldflags}" ; export LDFLAGS ;} \
|
|---|
| 28 | %endif \
|
|---|
| 29 | %__cmake \\\
|
|---|
| 30 | %{!?__cmake_in_source_build:-S "%{_vpath_srcdir}"} \\\
|
|---|
| 31 | %{!?__cmake_in_source_build:-B "%{__cmake_builddir}"} \\\
|
|---|
| 32 | -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \\\
|
|---|
| 33 | -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \\\
|
|---|
| 34 | -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \\\
|
|---|
| 35 | -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \\\
|
|---|
| 36 | -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \\\
|
|---|
| 37 | -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \\\
|
|---|
| 38 | -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \\\
|
|---|
| 39 | -DLIB_INSTALL_DIR:PATH=%{_libdir} \\\
|
|---|
| 40 | -DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \\\
|
|---|
| 41 | -DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \\\
|
|---|
| 42 | %if "%{?_lib}" == "lib64" \
|
|---|
| 43 | %{?_cmake_lib_suffix64} \\\
|
|---|
| 44 | %endif \
|
|---|
| 45 | %{?_cmake_shared_libs}
|
|---|
| 46 |
|
|---|
| 47 | %cmake_build \
|
|---|
| 48 | %__cmake --build "%{__cmake_builddir}" %{?_smp_mflags} --verbose
|
|---|
| 49 |
|
|---|
| 50 | %cmake_install \
|
|---|
| 51 | DESTDIR="%{buildroot}" %__cmake --install "%{__cmake_builddir}"
|
|---|
| 52 |
|
|---|
| 53 | %ctest(:-:) \
|
|---|
| 54 | cd "%{__cmake_builddir}" \
|
|---|
| 55 | %__ctest --output-on-failure --force-new-ctest-process %{?_smp_mflags} %{**} \
|
|---|
| 56 | cd -
|
|---|
| 57 |
|
|---|
| 58 |
|
|---|
| 59 | %cmake@@CMAKE_MAJOR_VERSION@@ %cmake
|
|---|
| 60 | %cmake@@CMAKE_MAJOR_VERSION@@_build %cmake_build
|
|---|
| 61 | %cmake@@CMAKE_MAJOR_VERSION@@_install %cmake_install
|
|---|
| 62 | %ctest@@CMAKE_MAJOR_VERSION@@(:-:) %ctest %{**}
|
|---|