On 2020-06-29 15:37, René Ferdinand Rivera Morell wrote:
On Mon, Jun 29, 2020 at 3:47 AM Andrey Semashev via Boost
mailto:boost@lists.boost.org> wrote: All users already have a build system. Most have it in the form of an IDE. It should be trivial to add the library's source files to your own build system for review purposes. If the library design makes that hard it should be a red flag.
Having the world compiled along with your application is one possible use case, but certainly not the only one. Many of us prefer to build external dependencies separately and only once instead of every time with the application. One point where putting external sources in your project doesn't work is configure-time checks, which are implemented in the library build system. I see nothing wrong with such checks, and don't consider them a "red flag".
Furthermore, in order for users to be able to use Boost, they need a way to build it, that is compile and install artifacts of every library in a common place. There needs to be a common interface for doing this. Currently, this is achieved by Boost.Build, so any new library has to integrate with it. If it uses a different build system internally, it must at least support being invoked from Boost.Build. Without this user experience will be severely hampered.
That can happen after acceptance. Expecting libraries to use B2, or any particular build system, for review increases the barrier of entry.
It prevents reviewers from trying out the library. It might also suggest that the library have not been built or tested prior to the review.
[snip]
However, personally I'm opposed to having mode than one build systems per library, as that unnecessarily increases maintenance burden.
Having more than one build system in your library reduces the friction for users. Hence it increases the set of likely users. I think that's worth the maintenance burden.
Well, let's just say I disagree.