- Use `target_include_directories()` in the libraries' CMakeLists.txt for
exposing their include path to their users, so that these library users
do not have to manually add these paths to their own CMakeLists.txt.
- Explicitly specify `STATIC` in `add_library()` for static libraries.
- Use MODULE instead of SHARED for the DLL. See commit 23373acbb9 for more details.