File macros.mingw32-cmake of Package mingw32-cross-cmake
#
# Macros for cmake for mingw32
#
# depends on macros.cmake
#
%__cmake_generator %{lua: if rpm.expand("%__builder") == rpm.expand("%__make") then print("-G'Unix Makefiles'") else print("-GNinja") end}
#
# macro for configuring a cross build with cmake
#
# To override the builtin source and build path defaults
#
# source path: $(pwd)/%__srcdir
# build path: $(pwd)/%__builddir
#
# add the following to the macro parameter list
#
# -S <sourcedir>
# -B <builddir>
#
# for other options see cmake -h
#
%_mingw32_cmake %{_mingw32_env} ; \
opts="" \
while (( "$#" )); do \
if test "$1" == "--"; then \
shift \
elif test "$1" == "-S"; then \
shift \
sdir=$1 \
shift \
elif test "$1" == ".."; then \
shift \
sdir=$(pwd)/.. \
elif test "$1" == "-B"; then \
shift \
bdir=$1 \
shift \
else \
opts="$opts $1" \
shift \
fi \
done \
if test -z "$bdir"; then \
bdir=$(pwd)/%__builddir \
fi \
mkdir -p $bdir \
cd $bdir \
if test -z "$sdir"; then \
sdir=$OLDPWD/%__sourcedir \
fi \
%__cmake -S $sdir -B $bdir $opts \\\
%__cmake_generator \\\
-DCMAKE_SYSTEM_NAME="Windows" \\\
-DCMAKE_VERBOSE_MAKEFILE=ON \\\
-DCMAKE_BUILD_TYPE="RelWithDebInfo" \\\
-DCMAKE_INSTALL_PREFIX:PATH=%{_mingw32_prefix} \\\
-DCMAKE_INSTALL_LIBDIR:PATH=%{_mingw32_libdir} \\\
-DBIN_INSTALL_DIR=%{_mingw32_bindir} \\\
-DINCLUDE_INSTALL_DIR:PATH=%{_mingw32_includedir} \\\
-DLIB_INSTALL_DIR:PATH=%{_mingw32_libdir} \\\
-DSHARE_INSTALL_DIR:PATH=%{_mingw32_datadir} \\\
-DSYSCONF_INSTALL_DIR:PATH=%{_mingw32_sysconfdir} \\\
-DSHARE_INSTALL_PREFIX:PATH=%{_mingw32_datadir} \\\
-DBUILD_SHARED_LIBS:BOOL=ON \\\
-DCMAKE_C_COMPILER="%{_bindir}/%{_mingw32_cc}" \\\
-DCMAKE_CXX_COMPILER="%{_bindir}/%{_mingw32_cxx}" \\\
-DCMAKE_Fortran_COMPILER="%{_bindir}/%{_mingw32_fc}" \\\
-DCMAKE_RC_COMPILER="%{_bindir}/%{_mingw32_windres}" \\\
-DCMAKE_FIND_ROOT_PATH="%{_mingw32_prefix}" \\\
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \\\
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \\\
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
%__mingw32_cmake \
echo "Deprecated %%__mingw32_cmake macro used, please use %%_mingw32_cmake" \
%{_mingw32_cmake}
%_mingw32_cmake_build %cmake_build
%_mingw32_cmake_install %{_mingw32_env}; \
%cmake_install
%_mingw32_ctest(:-:) \
cd %__builddir \
%__ctest --output-on-failure --force-new-ctest-process %{?_smp_mflags} %** \
cd $OLDPWD