#!/bin/bash # Build the AWS example code for C++ . CMAKE_FILES=$(ls example_code/*/CMakeLists.txt) HELLO_CMAKE_FILES=$(ls example_code/*/hello_*/CMakeLists.txt) CMAKE_FILES="$CMAKE_FILES $HELLO_CMAKE_FILES" CMAKE_FILES=($CMAKE_FILES) echo "CMAKE_FILES ${CMAKE_FILES[@]}" len=${#CMAKE_FILES[@]} echo "len ${len}" if [[ ${len} == 0 ]]; then echo "No CMake files found!" usage fi BASE_DIR=$(pwd) echo "BASE_DIR ${BASE_DIR}" BUILD_DIR="${BASE_DIR}/build" echo "BUILD_DIR ${BUILD_DIR}" mkdir -pv ${BUILD_DIR} HAD_ERROR=false for MAKE_FILE in "${CMAKE_FILES[@]}" do SOURCE_DIR="${MAKE_FILE%CMakeLists.txt}" MODULE_BUILD_DIR="${BUILD_DIR}/${SOURCE_DIR}" echo "MODULE_BUILD_DIR ${MODULE_BUILD_DIR}" mkdir -pv "${MODULE_BUILD_DIR}" cd "${MODULE_BUILD_DIR}" echo "cmake ${BASE_DIR}/${SOURCE_DIR}" cmake "${BASE_DIR}/${SOURCE_DIR}" -DBUILD_TESTS=ON if [ $? != 0 ]; then echo "ERROR with cmake ${$?}" HAD_ERROR=true continue fi cmake --build . if [ $? != 0 ]; then echo "ERROR with make ${$?}" HAD_ERROR=true continue fi done echo if [ $HAD_ERROR = true ]; then echo "The build had errors." exit 1 else echo "The build was successful with no errors." exit 0 fi