Table Of Contents

Previous topic

Notes by Boost Version

Next topic

boost_module

This Page

boost_library_project

Define a boost library project.

boost_library_project(libname[, ...])
Parameters:
  • libname – name of library to add
  • SRCDIRS (optional) – srcdir1 srcdir2 ...
  • TESTDIRS (optional) – testdir1 testdir2 ..
  • EXAMPLEDIRS (optional) – testdir1 testdir2 ..
  • DESCRIPTION – description
  • AUTHORS – author1 author2
  • MAINTAINERS – maint maint2
  • MODULAR (optional) –

where libname is the name of the library (e.g., Python, Filesystem), srcdir1, srcdir2, etc, are subdirectories containing library sources (for Boost libraries that build actual library binaries), and testdir1, testdir2, etc, are subdirectories containing regression tests.

DESCRIPTION provides a brief description of the library, which can be used to summarize the behavior of the library for a user. AUTHORS lists the authors of the library, while MAINTAINERS lists the active maintainers. If MAINTAINERS is left empty, it is assumed that the authors are still maintaining the library. Both authors and maintainers should have their name followed by their current e-mail address in angle brackets, with -at- instead of the at sign, e.g.,

Douglas Gregor <doug.gregor -at- gmail.com>

TESTDIRS

For libraries that have regression tests, and when testing is enabled either by BUILD_TESTS containing the (lowercase) name of this library or the string ALL, the generated makefiles/project files will contain regression tests for this library.

EXAMPLEDIRS

This option specifies directories containing examples. Examples are just libraries/executables created with boost_add_library and boost_add_executable, except they are only built if the name of the current project is specified in BUILD_EXAMPLES.

MODULAR

Currently unused.

Example

The Boost.Thread library uses the following invocation of the boost_library_project macro, since it has both a compiled library (built in the “src” subdirectory) and regression tests (listed in the “test” subdirectory):

boost_library_project(
  Thread
  SRCDIRS src
  TESTDIRS test
  DESCRIPTION "Portable threading"
  AUTHORS "Anthony Williams <anthony -at- justsoftwaresolutions.co.uk">
  )

Where Defined

This macro is defined in the Boost Core module in tools/build/CMake/BoostCore.cmake