Le 01.10.17 à 23:54, Adam Nielsen via Boost-users a écrit :
Hi all,
I'm in the process of trying to remove the Boost dependency from my project, as it is causing too many difficulties for non-developers trying to run my code.
This has been mostly solved by switching to C++11 and using the std:: implementations instead, however rather than rewrite all my unit tests I am hoping I can use a standalone version of Boost.Test, and distribute the code alongside my own.
Unfortunately I am not quite sure how to extract the Test library out of the main Boost distribution. I have compiled "bcp" and used it to copy "test" into a new folder, but it seems to copy a huge chunk of Boost as well, including a bunch of libraries (system, thread, date_time, etc.) and I end up with 29 MB of source files, which seems wrong (especially considering my own codebase is barely 500 kB).
Am I doing something wrong? I was hoping to use the header-only version of Boost.Test and this does seem to work when I #include the system-wide version of Boost (and don't link to any libraries), so it would seem that I don't need all those libraries that bcp copies.
Is there any other way to access a slimmed-down standalone version of Boost.Test?
Hi, Currently this is not possible. But (as one of the boost.test maintainer) I see this as an important feature for boost.test, so I'll be working on it. The main chunks of dependencies boost.test relies on are: - boost.config that indicates many of the compiler capabilities. I believe we can come up a header that the user can adapt from a general one (as some autoconf like tool would do) - boost.mpl that can be replaced by c++11 features - boost.preprocessor that is heavily used for getting the macro magics. Apart from that, there are many utility functions, as John said for instance boost.chrono and boost.timer. I do not have a clear strategy for this, apart from duplicating those within boost.test. I understand that this is an urgent feature for you, although I cannot commit to a precise date, I will work on this. Best, Raffi
Many thanks, Adam.