forked from pool/cmake
6d9b1150cb
- Remove wrong FIXME from spec - Require qt5 gui everywhere as it on all supported platforms - Respect CFLAGS while bootstraping - Remove wrong FIXME from the spec - Add relwithdebinfo as default target to ease living of sci packages - Add possibility to switch between ninja and cmake by defining %__builder ninja prior %cmake call bnc#995752 OBS-URL: https://build.opensuse.org/request/show/423027 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/cmake?expand=0&rev=262
58 lines
2.0 KiB
Plaintext
58 lines
2.0 KiB
Plaintext
#
|
|
# Macros for cmake
|
|
#
|
|
%__cmake %{_bindir}/cmake
|
|
%__ctest %{_bindir}/ctest
|
|
%__builddir build
|
|
%__builder %__make
|
|
|
|
%cmake \
|
|
find . -name CMakeLists.txt \\\
|
|
-exec sed -i -re '/^[[:blank:]]*[sS][eE][tT][[:blank:]]*\\\([[:blank:]]*(CMAKE_BUILD_TYPE|CMAKE_COLOR_MAKEFILE|CMAKE_INSTALL_PREFIX|CMAKE_VERBOSE_MAKEFILE).*\\\)/{s/^/#IGNORE /}' {} + \
|
|
mkdir -p %__builddir \
|
|
cd %__builddir \
|
|
%__cmake .. \\\
|
|
%if "%__builder" == "%__make" \
|
|
-G"Unix Makefiles" \\\
|
|
%else \
|
|
-GNinja \\\
|
|
%endif \
|
|
-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} \\\
|
|
-DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \\\
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \\\
|
|
-DCMAKE_C_FLAGS="${CFLAGS:-%optflags} -DNDEBUG" \\\
|
|
-DCMAKE_CXX_FLAGS="${CXXFLAGS:-%optflags} -DNDEBUG" \\\
|
|
-DCMAKE_Fortran_FLAGS="${FFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}} -DNDEBUG" \\\
|
|
-DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \\\
|
|
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \\\
|
|
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \\\
|
|
%if "%{?_lib}" == "lib64" \
|
|
-DLIB_SUFFIX=64 \\\
|
|
%endif \
|
|
-DCMAKE_SKIP_RPATH:BOOL=ON \\\
|
|
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \\\
|
|
-DBUILD_SHARED_LIBS:BOOL=ON \\\
|
|
-DBUILD_STATIC_LIBS:BOOL=OFF \\\
|
|
-DCMAKE_COLOR_MAKEFILE:BOOL=OFF \\\
|
|
-DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \\\
|
|
-DCMAKE_MODULES_INSTALL_DIR=%{_datadir}/cmake/Modules
|
|
|
|
%make_jobs \
|
|
%if "%__builder" == "%__make" \
|
|
%__make %{?_smp_mflags} VERBOSE=1 \
|
|
%else \
|
|
ninja -v %{?_smp_mflags} \
|
|
%endif
|
|
|
|
%cmake_install \
|
|
DESTDIR=%{buildroot} %__builder install -C %__builddir
|
|
|
|
%ctest \
|
|
cd %__builddir \
|
|
%__ctest --output-on-failure --force-new-ctest-process %{?_smp_mflags} \
|
|
cd ..
|