File macros.mingw64-cmake of Package mingw64-cross-cmake
#
# Macros for cmake for mingw64
#
# 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
#
%_mingw64_cmake %{_mingw64_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=%{_mingw64_prefix} \\\
-DCMAKE_INSTALL_LIBDIR:PATH=%{_mingw64_libdir} \\\
-DBIN_INSTALL_DIR=%{_mingw64_bindir} \\\
-DINCLUDE_INSTALL_DIR:PATH=%{_mingw64_includedir} \\\
-DLIB_INSTALL_DIR:PATH=%{_mingw64_libdir} \\\
-DSHARE_INSTALL_DIR:PATH=%{_mingw64_datadir} \\\
-DSYSCONF_INSTALL_DIR:PATH=%{_mingw64_sysconfdir} \\\
-DSHARE_INSTALL_PREFIX:PATH=%{_mingw64_datadir} \\\
-DBUILD_SHARED_LIBS:BOOL=ON \\\
-DCMAKE_C_COMPILER="%{_bindir}/%{_mingw64_cc}" \\\
-DCMAKE_CXX_COMPILER="%{_bindir}/%{_mingw64_cxx}" \\\
-DCMAKE_Fortran_COMPILER="%{_bindir}/%{_mingw64_fc}" \\\
-DCMAKE_RC_COMPILER="%{_bindir}/%{_mingw64_windres}" \\\
-DCMAKE_FIND_ROOT_PATH="%{_mingw64_prefix}" \\\
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \\\
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \\\
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
%__mingw64_cmake \
echo "Deprecated %%__mingw64_cmake macro used, please use %%_mingw64_cmake" \
%{_mingw64_cmake}
%_mingw64_cmake_build %cmake_build
%_mingw64_cmake_install %{_mingw64_env}; \
%cmake_install
%_mingw64_ctest(:-:) \
cd %__builddir \
%__ctest --output-on-failure --force-new-ctest-process %{?_smp_mflags} %** \
cd $OLDPWD