File: test-cli

package info (click to toggle)
ignition-utils 1.2.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 672 kB
  • sloc: python: 2,730; cpp: 1,218; ansic: 286; sh: 202; makefile: 11
file content (46 lines) | stat: -rwxr-xr-x 1,010 bytes parent folder | download
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"