Skip to content
Snippets Groups Projects
Commit 3f0c34a9 authored by Julia's avatar Julia
Browse files

[+] native macos-host build

parent 1c2a7328
No related branches found
No related tags found
No related merge requests found
...@@ -21,6 +21,15 @@ MHERE="$DIR" ...@@ -21,6 +21,15 @@ MHERE="$DIR"
export SOURCES=${MHERE}/../ export SOURCES=${MHERE}/../
case "${UNAME_OUT}" in
Linux*) MACHINE=Linux;;
Darwin*) MACHINE=Mac;;
CYGWIN*) MACHINE=Cygwin;;
MINGW*) MACHINE=MinGw;;
MSYS_NT*) MACHINE=Git;;
*) MACHINE="UNKNOWN:${UNAME_OUT}"
esac
#validate input params #validate input params
. ${MHERE}/validate.sh . ${MHERE}/validate.sh
...@@ -83,7 +92,14 @@ fi ...@@ -83,7 +92,14 @@ fi
mkdir -p ${BUILD_DIR}/build mkdir -p ${BUILD_DIR}/build
mkdir -p ${BUILD_DIR}/dist mkdir -p ${BUILD_DIR}/dist
echo "Build [${BUILD_TYPE}] binaries for [$BUILD_TARGET] in [${BUILD_DIR}] on $(nproc) threads" if [ "$MACHINE" != "Mac" ]
then
NPROC="$(nproc)"
else
NPROC="$(sysctl -n hw.ncpu)"
fi
echo "Build [${BUILD_TYPE}] binaries for [$BUILD_TARGET] in [${BUILD_DIR}] on $NPROC threads"
echo "with options: [${BUILD_OPTIONS[@]}]" echo "with options: [${BUILD_OPTIONS[@]}]"
cd ${BUILD_DIR}/build cd ${BUILD_DIR}/build
...@@ -94,5 +110,5 @@ echo "${CMAKE[@]} ${MHERE}/../ -DCREATE_DEFAULT_CONFIG=OFF ${BUILD_OPTIONS[@]}" ...@@ -94,5 +110,5 @@ echo "${CMAKE[@]} ${MHERE}/../ -DCREATE_DEFAULT_CONFIG=OFF ${BUILD_OPTIONS[@]}"
#echo $HERE #echo $HERE
export INSTALL_ROOT=${BUILD_DIR}/dist export INSTALL_ROOT=${BUILD_DIR}/dist
"${CMAKE[@]}" ${MHERE}/../ -DCREATE_DEFAULT_CONFIG=OFF ${BUILD_OPTIONS[@]} "${CMAKE[@]}" ${MHERE}/../ -DCREATE_DEFAULT_CONFIG=OFF ${BUILD_OPTIONS[@]}
"${MAKE[@]}" -j$(nproc) "${MAKE[@]}" -j $NPROC
"${MAKE[@]}" install DESTDIR=${INSTALL_ROOT} "${MAKE[@]}" install DESTDIR=${INSTALL_ROOT}
...@@ -22,34 +22,60 @@ RDIR=$( dirname "$SOURCE" ) ...@@ -22,34 +22,60 @@ RDIR=$( dirname "$SOURCE" )
DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd ) DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )
HERE="$DIR" HERE="$DIR"
UNAME_OUT="$(uname -s)"
case "${UNAME_OUT}" in
Linux*) MACHINE=Linux;;
Darwin*) MACHINE=Mac;;
CYGWIN*) MACHINE=Cygwin;;
MINGW*) MACHINE=MinGw;;
MSYS_NT*) MACHINE=Git;;
*) MACHINE="UNKNOWN:${UNAME_OUT}"
esac
if [ "$MACHINE" != "Mac" ]
if [ -z "$OSXCROSS_QT_ROOT" ]
then then
echo "Please, export OSXCROSS_QT_ROOT variable, pointing to Qt-builds locations for osxcross environment" echo "Host is $MACHINE, use osx-cross build target"
exit 255 if [ -z "$OSXCROSS_QT_ROOT" ]
fi then
echo "Please, export OSXCROSS_QT_ROOT variable, pointing to Qt-builds locations for osxcross environment"
exit 255
fi
if [ -z "$OSXCROSS_QT_VERSION" ] if [ -z "$OSXCROSS_QT_VERSION" ]
then then
echo "Please, export OSXCROSS_QT_VERSION variable, scpecifying Qt-version in OSXCROSS_QT_ROOT directory." echo "Please, export OSXCROSS_QT_VERSION variable, scpecifying Qt-version in OSXCROSS_QT_ROOT directory."
exit 255 exit 255
fi fi
echo "Using QT ${OSXCROSS_QT_VERSION} from ${OSXCROSS_QT_ROOT}/${OSXCROSS_QT_VERSION}"
echo "Using QT ${OSXCROSS_QT_VERSION} from ${OSXCROSS_QT_ROOT}/${OSXCROSS_QT_VERSION}" [ ! -d ${OSXCROSS_QT_ROOT}/${OSXCROSS_QT_VERSION} ] && { echo "No QT ${OSXCROSS_QT_VERSION} found in ${OSXCROSS_QT_ROOT}" && exit 255; }
[ ! -d ${OSXCROSS_QT_ROOT}/${OSXCROSS_QT_VERSION} ] && { echo "No QT ${OSXCROSS_QT_VERSION} found in ${OSXCROSS_QT_ROOT}" && exit 255; } $(${OSXCROSS_ROOT}/bin/osxcross-conf)
$(${OSXCROSS_ROOT}/bin/osxcross-conf)
export OSXCROSS_HOST=x86_64-apple-darwin20.4
CMAKE=(cmake -DCMAKE_TOOLCHAIN_FILE=${OSXCROSS_ROOT}/toolchain.cmake)
export OSXCROSS_HOST=x86_64-apple-darwin20.4 ##everything else can be done by default make
CMAKE=(cmake -DCMAKE_TOOLCHAIN_FILE=${OSXCROSS_ROOT}/toolchain.cmake) MAKE=(make)
##everything else can be done by default make
MAKE=(make) else
echo "Host is $MACHINE, use native build toolchain"
if [ -f "/Users/$USER/Qt/Tools/CMake/CMake.app/Contents/bin/cmake" ]
then
CMAKE=(/Users/$USER/Qt/Tools/CMake/CMake.app/Contents/bin/cmake )
echo "OSXcross target" echo "Found cmake at $CMAKE, using it"
else
echo "Not found cmake at default qt location, asuming it is in PATH"
CMAKE=(cmake)
fi
##everything else can be done by default make
MAKE=(make)
fi
echo "CMAKE=${CMAKE[@]}" echo "CMAKE=${CMAKE[@]}"
echo "MAKE=${MAKE[@]}" echo "MAKE=${MAKE[@]}"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment