diff options
-rw-r--r-- | buildfile | 3 | ||||
-rw-r--r-- | libhello/.gitignore | 6 | ||||
-rw-r--r-- | libhello/README.md | 4 | ||||
-rw-r--r-- | libhello/build/root.build | 8 | ||||
-rw-r--r-- | libhello/buildfile | 2 | ||||
-rw-r--r-- | libhello/libhello/buildfile | 18 | ||||
-rw-r--r-- | libhello/manifest | 14 | ||||
-rw-r--r-- | libhello/tests/basics/driver.cxx | 4 | ||||
-rw-r--r-- | libhello/tests/build/root.build | 4 | ||||
-rw-r--r-- | libmhello/manifest | 2 |
10 files changed, 41 insertions, 24 deletions
@@ -1,5 +1,6 @@ # Glue buildfile that "pulls" all the packages in the project. # -import pkgs = */ +import pkgs = [dir_paths] $process.run_regex(\ + cat $src_root/packages.manifest, '\s*location\s*:\s*(\S+)\s*', '\1') ./: $pkgs diff --git a/libhello/.gitignore b/libhello/.gitignore index cece09c..1c363a0 100644 --- a/libhello/.gitignore +++ b/libhello/.gitignore @@ -3,10 +3,16 @@ *.d *.t *.i +*.i.* *.ii +*.ii.* *.o *.obj +*.gcm +*.pcm +*.ifc *.so +*.dylib *.dll *.a *.lib diff --git a/libhello/README.md b/libhello/README.md new file mode 100644 index 0000000..3dab9aa --- /dev/null +++ b/libhello/README.md @@ -0,0 +1,4 @@ +# libhello + +A simple library that implements the "Hello World" example in C++. Its primary +goal is to show a canonical `build2`/`bpkg` project/package. diff --git a/libhello/build/root.build b/libhello/build/root.build index 9c83a8a..ae3d2a6 100644 --- a/libhello/build/root.build +++ b/libhello/build/root.build @@ -1,3 +1,7 @@ +# Uncomment to suppress warnings coming from external libraries. +# +#cxx.internal.scope = current + cxx.std = latest using cxx @@ -7,6 +11,10 @@ ixx{*}: extension = ixx txx{*}: extension = txx cxx{*}: extension = cxx +# Assume headers are importable unless stated otherwise. +# +hxx{*}: cxx.importable = true + # The test target for cross-testing (running tests under Wine, etc). # test.target = $cxx.target diff --git a/libhello/buildfile b/libhello/buildfile index 3ac0526..9a5145b 100644 --- a/libhello/buildfile +++ b/libhello/buildfile @@ -1,4 +1,4 @@ -./: {*/ -build/} manifest +./: {*/ -build/} doc{README.md} manifest # Don't install tests. # diff --git a/libhello/libhello/buildfile b/libhello/libhello/buildfile index 6e6c7a3..c108327 100644 --- a/libhello/libhello/buildfile +++ b/libhello/libhello/buildfile @@ -3,22 +3,16 @@ import impl_libs = libprint%lib{print} # Implementation dependency. lib{hello}: {hxx ixx txx cxx}{** -version} hxx{version} $impl_libs $intf_libs -# Include the generated version header into the distribution (so that we don't -# pick up an installed one) and don't remove it when cleaning in src (so that -# clean results in a state identical to distributed). -# hxx{version}: in{version} $src_root/manifest -{ - dist = true - clean = ($src_root != $out_root) -} + +hxx{export}@./: cxx.importable = false # Build options. # cxx.poptions =+ "-I$out_root" "-I$src_root" -obja{*}: cxx.poptions += -DLIBHELLO_STATIC_BUILD -objs{*}: cxx.poptions += -DLIBHELLO_SHARED_BUILD +{hbmia obja}{*}: cxx.poptions += -DLIBHELLO_STATIC_BUILD +{hbmis objs}{*}: cxx.poptions += -DLIBHELLO_SHARED_BUILD # Export options. # @@ -36,9 +30,9 @@ libs{hello}: cxx.export.poptions += -DLIBHELLO_SHARED # for details on the version.* variable values. # if $version.pre_release - lib{hello}: bin.lib.version = @"-$version.project_id" + lib{hello}: bin.lib.version = "-$version.project_id" else - lib{hello}: bin.lib.version = @"-$version.major.$version.minor" + lib{hello}: bin.lib.version = "-$version.major.$version.minor" # Install into the libhello/ subdirectory of, say, /usr/include/ # recreating subdirectories. diff --git a/libhello/manifest b/libhello/manifest index 05343e2..83530d8 100644 --- a/libhello/manifest +++ b/libhello/manifest @@ -1,20 +1,18 @@ : 1 name: libhello -version: 1.1.0+6 +version: 1.1.0+11 +language: c++ project: hello summary: The "Hello World" example library license: MIT ; MIT License. topics: hello world example -description: \ -A simple library that implements the "Hello World" example in C++. Its primary -goal is to show a canonical build2/bpkg project/package. -\ +description-file: README.md url: https://git.build2.org/cgit/hello/libhello src-url: https://git.build2.org/cgit/hello/libhello/tree/libhello email: users@build2.org -build-email: builds@build2.org +build-warning-email: builds@build2.org builds: all -depends: * build2 >= 0.11.0 -depends: * bpkg >= 0.11.0 +depends: * build2 >= 0.16.0- +depends: * bpkg >= 0.16.0- depends: libformat ^1.0.0 depends: libprint ^1.0.0 diff --git a/libhello/tests/basics/driver.cxx b/libhello/tests/basics/driver.cxx index 24c29a1..295c8f6 100644 --- a/libhello/tests/basics/driver.cxx +++ b/libhello/tests/basics/driver.cxx @@ -1,9 +1,11 @@ -#include <cassert> #include <sstream> #include <libhello/version.hxx> #include <libhello/hello.hxx> +#undef NDEBUG +#include <cassert> + int main () { using namespace std; diff --git a/libhello/tests/build/root.build b/libhello/tests/build/root.build index a67b2fe..8fafbfe 100644 --- a/libhello/tests/build/root.build +++ b/libhello/tests/build/root.build @@ -7,6 +7,10 @@ ixx{*}: extension = ixx txx{*}: extension = txx cxx{*}: extension = cxx +# Assume headers are importable unless stated otherwise. +# +hxx{*}: cxx.importable = true + # Every exe{} in this subproject is by default a test. # exe{*}: test = true diff --git a/libmhello/manifest b/libmhello/manifest index acbb65d..0bc28ac 100644 --- a/libmhello/manifest +++ b/libmhello/manifest @@ -5,7 +5,7 @@ project: hello summary: The modularized "Hello World" example library license: MIT tags: c++, world, example, modules -description: \ +description:\ A simple library that implements the "Hello World" example in C++ with modules. Its primary goal is to show a canonical build2/bpkg project/package. \ |