aboutsummaryrefslogtreecommitdiff
path: root/brep/buildfile
blob: b77952cb5f8d7dd7f9f6840927d616ff4189e449 (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
# file      : brep/buildfile
# copyright : Copyright (c) 2014-2016 Code Synthesis Ltd
# license   : MIT; see accompanying LICENSE file

define mod: libso
mod{*}: bin.libprefix = mod_
mod{*}: install = libexec

define sql: file
sql{*}: extension = sql
sql{*}: install = data

./: lib{brep} mod{brep} sql{package package-extra}

# lib{brep}
#
import libs += libodb%lib{odb}
import libs += libodb-pgsql%lib{odb-pgsql}
import libs += libbpkg%lib{bpkg}

lib{brep}:                          \
{hxx         cxx}{ package        } \
{file           }{ package.xml    } \
{hxx ixx     cxx}{ package-odb    } \
{hxx            }{ package-extra  } \
{hxx         cxx}{ package-traits } \
{hxx         cxx}{ database-lock  } \
{hxx            }{ types          } \
{hxx            }{ utility        } \
{hxx            }{ version        } \
$libs

libso{brep}: cxx.export.poptions = -I$out_root -I$src_root

# Install into the brep/ subdirectory of, say, /usr/include/.
#
install.include = $install.include/brep

# mod{brep}
#
import libs += libstudxml%lib{studxml}

gen =         {hxx ixx     cxx}{ options                 }
src =                                                          \
              {hxx         cxx}{ diagnostics                 } \
              {hxx         cxx}{ module                      } \
              {hxx            }{ options-types               } \
              {hxx         cxx}{ mod-package-details         } \
              {hxx         cxx}{ mod-package-search          } \
              {hxx         cxx}{ mod-package-version-details } \
              {hxx         cxx}{ page                        } \
              {hxx         cxx}{ mod-repository-details      } \
              {hxx         cxx}{ mod-repository-root         } \
              {            cxx}{ services                    } \
              {hxx         cxx}{ database                    } \
              {hxx         cxx}{ types-parsers               } \
              {hxx            }{ wrapper-traits              } \
       ../web/{hxx         cxx}{ mime-url-encoding           } \
       ../web/{hxx            }{ module                      } \
       ../web/{hxx            }{ xhtml                       } \
../web/apache/{hxx            }{ log                         } \
../web/apache/{hxx ixx     cxx}{ request                     } \
../web/apache/{hxx     txx cxx}{ service                     } \
../web/apache/{hxx            }{ stream                      }

mod{brep}: $src $gen lib{brep} $libs

# Don't install any of the mod{brep} headers.
#
$out_base/{$gen}: install = false
$src_base/{$src}: install = false

# Set option prefix to the empty value to handle all unknown request parameters
# uniformly with a single catch block.
#
cli.options += --std c++11 -I $src_root --include-with-brackets \
--include-prefix brep --guard-prefix BREP \
--cxx-prologue "#include <brep/types-parsers>" \
--cli-namespace brep::cli --generate-file-scanner --suppress-usage \
--generate-modifier --generate-description --option-prefix ""

{hxx ixx cxx}{options}: cli{options}