NPDet-config.cxx
Go to the documentation of this file.
1 #include <iostream>
2 #include "getopt.h"
3 #include <math.h>
4 #include "NPDetConfig.h"
5 
6 #define no_argument 0
7 #define required_argument 1
8 #define optional_argument 2
9 
10 void print_usage();
11 void print_libs();
12 void print_cflags();
13 void print_ldflags();
14 void print_inc();
15 void print_version();
16 void print_grid();
17 void print_prefix();
18 
19 int main(int argc, char * argv[]) {
20 
21  if( argc < 2 ){
22  print_usage();
23  std::cout << std::endl;
24  return 0;
25  }
26  const struct option longopts[] =
27  {
28  {"version", no_argument, 0, 'v'},
29  {"help", no_argument, 0, 'h'},
30  {"libs", no_argument, 0, 'l'},
31  {"cflags", no_argument, 0, 'c'},
32  {"ldflags", no_argument, 0, 'd'},
33  {"inc", no_argument, 0, 'i'},
34  {"grid", no_argument, 0, 'g'},
35  {"prefix", no_argument, 0, 'p'},
36  {0,0,0,0}
37  };
38 
39  int index = 0;
40  int iarg = 0;
41 
42  //turn off getopt error message
43  opterr=1;
44 
45  while(iarg != -1)
46  {
47  iarg = getopt_long(argc, argv, "vhlcpd", longopts, &index);
48 
49  switch (iarg)
50  {
51  case 'h':
52  print_usage();
53  break;
54 
55  case 'v':
56  print_version();
57  break;
58 
59  case 'l':
60  print_libs();
61  break;
62 
63  case 'c':
64  print_cflags();
65  break;
66 
67  case 'i':
68  print_inc();
69  break;
70 
71  case 'd':
72  print_ldflags();
73  break;
74 
75  case 'p':
76  print_prefix();
77  break;
78 
79  case 'g':
80  print_grid();
81  break;
82 
83 
84  }
85  }
86 
87  std::cout << std::endl;
88 
89  return 0;
90 }
91 
93  std::cout << "NPDet Version "
94  << NPDet_VERSION_MAJOR << "."
95  << NPDet_VERSION_MINOR << "."
96  << NPDet_VERSION_PATCH << " ";
97 }
98 
99 void print_usage(){
100  std::cout << "NPDet-config --libs --cflags --ldflags --inc --grid" << " ";
101 }
102 
103 void print_libs(){
104  std::cout << NPDet_CXX_LIBS << " ";
105 }
106 
107 void print_inc(){
108  std::cout << NPDet_CXX_INC_DIR << " ";
109 }
110 
112  std::cout << NPDet_CXX_CFLAGS << " ";
113 }
114 
116  std::cout << NPDet_CXX_LDFLAGS << " ";
117 }
118 
119 void print_grid(){
120  std::cout << NPDet_DATA_DIR << " ";
121 }
122 
124  std::cout << NPDet_PREFIX << " ";
125 }
126 
void print_prefix()
void print_cflags()
void print_version()
void print_ldflags()
#define no_argument
Definition: NPDet-config.cxx:6
parameter option(String &&flag, Strings &&... flags)
makes optional, non-blocking exact match parameter
Definition: clipp.h:2078
int main(int argc, char *argv[])
void print_usage()
void print_libs()
void print_grid()
void print_inc()