summaryrefslogtreecommitdiff
path: root/macros.cmake.in
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-07-18 07:23:25 +0000
committerCoprDistGit <infra@openeuler.org>2024-07-18 07:23:25 +0000
commit9d7a2f3d0b23af5254f1d2bfea703f8a7420b581 (patch)
tree29a56543c40b3093b80ed56584111f2c9cab1898 /macros.cmake.in
parent2f144d8aa616f9c4d5d4534919d6e32bbcebe0a0 (diff)
automatic import of cmake
Diffstat (limited to 'macros.cmake.in')
-rw-r--r--macros.cmake.in60
1 files changed, 60 insertions, 0 deletions
diff --git a/macros.cmake.in b/macros.cmake.in
new file mode 100644
index 0000000..675ca90
--- /dev/null
+++ b/macros.cmake.in
@@ -0,0 +1,60 @@
+#
+# 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
+%__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
+%cmake \
+ %{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}
+
+%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 \\\
+%ifarch riscv64 \
+ --timeout 6000 \\\
+%endif \
+ %{?_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 %{**}