65 lines
2.7 KiB
Bash
65 lines
2.7 KiB
Bash
# Any commands which fail will cause the shell script to exit immediately
|
|
set -e
|
|
|
|
# Validate mandatory environment variables
|
|
if [ "$PRODUCT_BUILD_TYPE" = "" ]; then
|
|
echo "Please define 'PRODUCT_BUILD_TYPE' environment variable.";
|
|
exit 1;
|
|
fi
|
|
|
|
# Set PRODUCT_SOURCE_DIR root directory
|
|
if [ "$PRODUCT_SOURCE_DIR" = "" ]; then
|
|
RESTORE_DIRECTORY="$PWD"
|
|
cd "$(dirname "$0")"
|
|
cd ../..
|
|
export PRODUCT_SOURCE_DIR="$PWD"
|
|
echo "PRODUCT_SOURCE_DIR set to '$PRODUCT_SOURCE_DIR'."
|
|
cd "$RESTORE_DIRECTORY"
|
|
unset RESTORE_DIRECTORY
|
|
fi
|
|
|
|
# Prepare CMAKE parameters
|
|
export CMAKE_INSTALL_PREFIX="$PRODUCT_SOURCE_DIR/third_parties/win32Arduino/install"
|
|
unset CMAKE_PREFIX_PATH
|
|
export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH;$PRODUCT_SOURCE_DIR/third_parties/googletest/install"
|
|
export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH;$PRODUCT_SOURCE_DIR/third_parties/RapidAssist/install"
|
|
|
|
echo ============================================================================
|
|
echo Cloning win32Arduino into $PRODUCT_SOURCE_DIR/third_parties/win32Arduino
|
|
echo ============================================================================
|
|
mkdir -p "$PRODUCT_SOURCE_DIR/third_parties"
|
|
cd "$PRODUCT_SOURCE_DIR/third_parties"
|
|
git clone "https://github.com/end2endzone/win32Arduino.git"
|
|
cd win32Arduino
|
|
echo
|
|
|
|
echo Checking out version v2.4.0...
|
|
git -c advice.detachedHead=false checkout 2.4.0
|
|
echo
|
|
|
|
echo ============================================================================
|
|
echo Patching win32Arduino for type __FlashStringHelper...
|
|
echo ============================================================================
|
|
python "$PRODUCT_SOURCE_DIR/ci/generic/patch.py" -i "$PRODUCT_SOURCE_DIR/third_parties/win32Arduino/include/avr/pgmspace.h" -o "$PRODUCT_SOURCE_DIR/third_parties/win32Arduino/include/avr/pgmspace.h" -p "$PRODUCT_SOURCE_DIR/ci/generic/win32arduino.pattern.txt" -r "$PRODUCT_SOURCE_DIR/ci/generic/win32arduino.replace.txt"
|
|
echo
|
|
|
|
echo ============================================================================
|
|
echo Generating win32Arduino...
|
|
echo ============================================================================
|
|
mkdir -p build
|
|
cd build
|
|
cmake -Wno-dev -DCMAKE_BUILD_TYPE=$PRODUCT_BUILD_TYPE -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX="$CMAKE_INSTALL_PREFIX" -DCMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH" ..
|
|
echo
|
|
|
|
echo ============================================================================
|
|
echo Compiling win32Arduino...
|
|
echo ============================================================================
|
|
cmake --build . -- -j4
|
|
echo
|
|
|
|
echo ============================================================================
|
|
echo Installing win32Arduino into $CMAKE_INSTALL_PREFIX
|
|
echo ============================================================================
|
|
make install
|
|
echo
|