diff --git a/docs/faq.md b/docs/faq.md index 81d8be68..c589cff4 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -8,6 +8,7 @@ [What is Catch2's ABI stability policy?](#what-is-catch2s-abi-stability-policy)
[What is Catch2's API stability policy?](#what-is-catch2s-api-stability-policy)
[Does Catch2 support running tests in parallel?](#does-catch2-support-running-tests-in-parallel)
+[Can I compile Catch2 into a dynamic library?](#can-i-compile-catch2-into-a-dynamic-library)
## How do I run global setup/teardown only if tests will be run? @@ -58,6 +59,16 @@ runners easier. [See the relevant section in our page on best practices](usage-tips.md#parallel-tests). +## Can I compile Catch2 into a dynamic library? + +Yes, Catch2 supports the [standard CMake `BUILD_SHARED_LIBS` +option](https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html). +However, the dynamic library support is provided as-is. Catch2 does not +provide API export annotations, and so you can only use it as a dynamic +library on platforms that default to public visibility, or with tooling +support to force export Catch2's API. + + --- [Home](Readme.md#top)