set -e

WORKDIR=$(mktemp -d)
trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
cd $WORKDIR
cat <<EOF > main.cc
#include <ignition/utils/cli/CLI.hpp>
#include <ignition/utils/config.hh>

//////////////////////////////////////////////////
int main(int argc, char** argv)
{
  CLI::App app{"Using ignition-utils CLI wrapper"};

  app.add_flag_callback("-v,--version", [](){
      std::cout << IGNITION_UTILS_VERSION_FULL << std::endl;
      throw CLI::Success();
  });

  CLI11_PARSE(app, argc, argv);
}
EOF


# 2. CMAKE
cat <<EOF > CMakeLists.txt
cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
project(ignition-utils-cli-demo)

# Find the Ignition Libraries used directly by the example
find_package(ignition-utils1 REQUIRED COMPONENTS cli)
set(IGN_UTILS_VER \${ignition-utils1_VERSION_MAJOR})

add_executable(igntest main.cc)
target_link_libraries(igntest
  ignition-utils\${IGN_UTILS_VER}::cli
)
EOF

cmake .
echo "configure cmake"
make
echo "build cmake t:OK"
[ -x igntest ]
./igntest --version
echo "run: OK"
