From 6715325d046f3b9663fa3b290324ba9b8c3e052a Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 3 Mar 2017 15:58:34 +0200 Subject: Rework build2 cli compilation --- build/root.build | 15 ++++++--------- 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 } -- cgit v1.1