From 4adf0105490a9a8f14fba0f6d463a16bcafa61bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ho=C5=99e=C5=88ovsk=C3=BD?= Date: Sat, 3 Sep 2022 22:31:25 +0200 Subject: [PATCH] Mention dynamic library stuff in the FAQ Closes #2497 --- docs/faq.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/faq.md b/docs/faq.md index 81d8be680f..c589cff40f 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)