docker-cross-compiler/sh/quik_build_native.sh

50 lines
987 B
Bash
Raw Normal View History

2024-03-19 16:01:11 +01:00
#!/bin/bash
# $1 Source path of the project.
# $2 Target architecture list.
# DST is the destination directory.
SRC=$1
ARCHS=$2
if [ -z "$SRC" ]
then
echo You need to provide a source path.
return
fi
if [ -z "$ARCHS" ]
then
ARCHS="linux-arm linux-arm64 linux-x64 win-x64 win-x86"
fi
if [ -z "$DST" ]
then
DST=$PWD
fi
for ARCH in $ARCHS; do
# Output directory.
PREFIX=$DST/runtimes/$ARCH/native
# Build directory.
BUILD=$DST/out/$ARCH
# Cmake toolchain file.
TOOLCHAIN=$DST/../cmake/$ARCH.cmake
# Create directories.
mkdir -p $PREFIX $BUILD
# Configure CMAKE.
cmake -B $BUILD -S $SRC \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS=-static-libgcc \
-DCMAKE_CXX_FLAGS=-static-libgcc \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
-DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN \
$QUIK_ADDITIONAL_CMAKE
# Build and install.
ninja -C $BUILD all
ninja -C $BUILD install
done