#!/bin/bash version="0.1" function usage() { echo "Usage : $0 [options] Create a header/source/test triplet. Options: -h,--help Display this message -v,--version Display script version" } # Parse arguments declare -a args while [[ $# -gt 0 ]]; do opt="$1" case $opt in -h|--help) usage; exit 0 ;; -v|--version) echo "$0 -- Version $version"; exit 0 ;; -*) echo -e "\n Option does not exist : $opt\n" usage; exit 1 ;; *) args+=("$opt"); shift ;; esac done read -d '' fpp_copy <<EOD // Copyright © Focal Point Positioning Limited $(date +%Y). All Rights Reserved. // This code is the copyright of Focal Point Positioning Limited and // cannot be used, copied or distributed without the express written // permission of Focal Point Positioning Limited. EOD _h=${COMPONENT_HEADER_SUFFIX:-.hpp} _c=${COMPONENT_SOURCE_SUFFIX:-.cpp} _t=${COMPONENT_TEST_SUFFIX:-.t.cpp} for f in "${args[@]}"; do c=$(basename $f) printf '%s\n\n#pragma once\n\n' "$fpp_copy" >$f$_h printf '%s\n\n#include "%s"\n\n' "$fpp_copy" "$c$_h" >$f$_c printf '%s\n\n#include <gtest/gtest.h>\n\n#include "%s"\n' "$fpp_copy" "$c$_h" >$f$_t done