diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-03-03 15:58:34 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-03-03 15:58:45 +0200 |
commit | 6715325d046f3b9663fa3b290324ba9b8c3e052a (patch) | |
tree | 19906674f48049c33fc3b929058dcbf2047d95e6 | |
parent | a028fa9a535070ec9a1eecda297c34c4fe3fd4f5 (diff) |
Rework build2 cli compilation
-rw-r--r-- | build/root.build | 15 | ||||
-rw-r--r-- | odb/sqlite/buildfile | 13 |
2 files changed, 14 insertions, 14 deletions
diff --git a/build/root.build b/build/root.build index 5e80277..63bed14 100644 --- a/build/root.build +++ b/build/root.build @@ -11,13 +11,10 @@ ixx{*}: extension = ixx txx{*}: extension = txx cxx{*}: extension = cxx -# Load the cli module but only if it's available. This way a distribution that -# includes pre-generated files can be built without installing cli. +# Load the cli module but only if it's available. This way a distribution +# that includes pre-generated files can be built without installing cli. +# This is also the reason why we need to explicitly spell out individual +# source file prerequisites instead of using the cli.cxx{} group (it won't +# be there unless the module is configured). # -using? cli - -if! $cli.configured -{ - define cli: file - cli{*}: extension = cli -} +using? cliusing? cli diff --git a/odb/sqlite/buildfile b/odb/sqlite/buildfile index 4f27da6..02c3238 100644 --- a/odb/sqlite/buildfile +++ b/odb/sqlite/buildfile @@ -71,19 +71,22 @@ lib{odb-sqlite}: cxx.export.libs = $int_libs details/: { - {hxx ixx cxx}{options}: cli{options} - if $cli.configured { + cli.cxx{options}: cli{options} + cli.options += --include-with-brackets --include-prefix odb/sqlite/details \ --guard-prefix LIBODB_SQLITE_DETAILS --generate-file-scanner \ --cli-namespace odb::sqlite::details::cli --long-usage + + # Include generated cli files into the distribution. + # + cli.cxx{*}: dist = true } - # Include generated cli files into the distribution. But don't install them - # since they are only used internally in the database implementation. + # But don't install their headers since they are only used internally in the + # database implementation. # - {hxx ixx cxx}{options}: dist = true {hxx ixx}{options}: install = false } |