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
 
openSUSE Build Service is sponsored by