1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
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"
|