aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-03-03 15:58:34 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-03-03 15:58:45 +0200
commit6715325d046f3b9663fa3b290324ba9b8c3e052a (patch)
tree19906674f48049c33fc3b929058dcbf2047d95e6
parenta028fa9a535070ec9a1eecda297c34c4fe3fd4f5 (diff)
Rework build2 cli compilation
-rw-r--r--build/root.build15
-rw-r--r--odb/sqlite/buildfile13
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
}