- WM_ARCH=win64 to indicate the runtime environment ENH: cross-compile wmake toolchain for the target-side as well
47 lines
1.2 KiB
Bash
Executable File
47 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
cd "${0%/*}" || exit # This directory (/path/project/wmake/src)
|
|
|
|
if [ -z "$WM_DIR" ] # Require WM_DIR (/path/project/wmake)
|
|
then
|
|
WM_DIR="$(dirname "$(pwd -L)")"
|
|
export WM_DIR
|
|
fi
|
|
|
|
if [ -z "$WM_PROJECT_DIR" ] # Expect WM_PROJECT_DIR (/path/project)
|
|
then
|
|
echo "Warning (${0##*/}) : No WM_PROJECT_DIR set" 1>&2
|
|
WM_PROJECT_DIR="${WM_DIR%/*}"
|
|
export WM_PROJECT_DIR
|
|
fi
|
|
|
|
if [ -z "$WM_ARCH" ] || [ -z "$WM_COMPILER" ]
|
|
then
|
|
echo "Error (${0##*/}) : No WM_ARCH or WM_COMPILER set"
|
|
echo " Check your OpenFOAM environment and installation"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
if [ "${WM_COMPILER%Mingw}" != "$WM_COMPILER" ] && [ "$WM_ARCH" != win64 ]
|
|
then
|
|
# Mingw cross-compilation
|
|
|
|
# Toolchain for build (system gcc)
|
|
make \
|
|
WM_COMPILER=Gcc WM_COMPILER_TYPE=system \
|
|
WMAKE_BIN="${WM_PROJECT_DIR}/platforms/tools/${WM_ARCH}${WM_COMPILER}" \
|
|
"$@"
|
|
|
|
# Toolchain for target (mingw)
|
|
make \
|
|
WMAKE_BIN="${WM_PROJECT_DIR}/platforms/tools/win64${WM_COMPILER}" \
|
|
"$@"
|
|
else
|
|
|
|
# Regular wmake toolchain
|
|
make "$@"
|
|
|
|
fi
|
|
|
|
#------------------------------------------------------------------------------
|