aboutsummaryrefslogtreecommitdiff
path: root/bpkg/buildfile
blob: 428287613d100ad2182d2e91d60abaa24ad6d735 (plain)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# file      : bpkg/buildfile
# copyright : Copyright (c) 2014-2015 Code Synthesis Ltd
# license   : MIT; see accompanying LICENSE file

using cli

import libs  = libbpkg%lib{bpkg}
import libs += libbutl%lib{butl}
import libs += libodb%lib{odb}
import libs += libodb-sqlite%lib{odb-sqlite}

exe{bpkg}:                                                               \
{ hxx             }{ bpkg-version     }                                  \
{             cxx }{ bpkg             } cli.cxx{ bpkg-options          } \
{ hxx         cxx }{ build            } cli.cxx{ build-options         } \
{ hxx         cxx }{ cfg-create       } cli.cxx{ cfg-create-options    } \
                                        cli.cxx{ common-options        } \
                                        cli.cxx{ configuration-options } \
{ hxx         cxx }{ database         }                                  \
{ hxx         cxx }{ diagnostics      }                                  \
{ hxx         cxx }{ drop             } cli.cxx{ drop-options          } \
{ hxx         cxx }{ fetch            }                                  \
{ hxx             }{ forward          }                                  \
{ hxx         cxx }{ help             } cli.cxx{ help-options          } \
{ hxx         cxx }{ manifest-utility }                                  \
{ hxx ixx     cxx }{ package          }                                  \
{ hxx ixx     cxx }{ package-odb      } file{package.xml}                \
{ hxx             }{ pkg-clean        } cli.cxx{ pkg-clean-options     } \
{ hxx         cxx }{ pkg-command      }                                  \
{ hxx         cxx }{ pkg-configure    } cli.cxx{ pkg-configure-options } \
{ hxx         cxx }{ pkg-disfigure    } cli.cxx{ pkg-disfigure-options } \
{ hxx         cxx }{ pkg-fetch        } cli.cxx{ pkg-fetch-options     } \
{ hxx         cxx }{ pkg-purge        } cli.cxx{ pkg-purge-options     } \
{ hxx         cxx }{ pkg-status       } cli.cxx{ pkg-status-options    } \
{ hxx         cxx }{ pkg-unpack       } cli.cxx{ pkg-unpack-options    } \
{ hxx             }{ pkg-update       } cli.cxx{ pkg-update-options    } \
{ hxx         cxx }{ pkg-verify       } cli.cxx{ pkg-verify-options    } \
{ hxx         cxx }{ rep-add          } cli.cxx{ rep-add-options       } \
{ hxx         cxx }{ rep-create       } cli.cxx{ rep-create-options    } \
{ hxx         cxx }{ rep-fetch        } cli.cxx{ rep-fetch-options     } \
{ hxx         cxx }{ rep-info         } cli.cxx{ rep-info-options      } \
{ hxx         cxx }{ satisfaction     }                                  \
{ hxx             }{ types            }                                  \
{ hxx         cxx }{ types-parsers    }                                  \
{ hxx         cxx }{ utility          }                                  \
{ hxx             }{ wrapper-traits   }                                  \
$libs

# Option length must be the same to get commands/topics/options aligned.
#
cli.options += -I $src_root --include-with-brackets --include-prefix bpkg \
--guard-prefix BPKG --cxx-prologue "#include <bpkg/types-parsers>"        \
--cli-namespace bpkg::cli --generate-file-scanner --generate-specifier    \
--generate-parse --ansi-color --page-usage 'bpkg::print_$name$_'          \
--include-base-last --long-usage --option-length 20

cli.cxx{common-options}: cli{common-options}
cli.cxx{common-options}: cli.options += --short-usage

cli.cxx{configuration-options}: cli{configuration-options}

cli.cxx{bpkg-options}: cli{bpkg-options}
cli.cxx{bpkg-options}: cli.options += --suppress-undocumented

cli.cxx{help-options}: cli{help-options}

#
#
cli.cxx{build-options}: cli{build-options}
cli.cxx{drop-options}: cli{drop-options}

# pkg-*
#
cli.cxx{pkg-status-options}:    cli{pkg-status-options}
cli.cxx{pkg-fetch-options}:     cli{pkg-fetch-options}
cli.cxx{pkg-unpack-options}:    cli{pkg-unpack-options}
cli.cxx{pkg-purge-options}:     cli{pkg-purge-options}
cli.cxx{pkg-configure-options}: cli{pkg-configure-options}
cli.cxx{pkg-disfigure-options}: cli{pkg-disfigure-options}
cli.cxx{pkg-update-options}:    cli{pkg-update-options}
cli.cxx{pkg-clean-options}:     cli{pkg-clean-options}
cli.cxx{pkg-verify-options}:    cli{pkg-verify-options}

# cfg-*
#
cli.cxx{cfg-create-options}: cli{cfg-create-options}

# rep-*
#
cli.cxx{rep-add-options}:   cli{rep-add-options}
cli.cxx{rep-fetch-options}: cli{rep-fetch-options}
cli.cxx{rep-info-options}: cli{rep-info-options}
cli.cxx{rep-create-options}: cli{rep-create-options}