Hi Johannes,
Thanks for the detailed breakdown — your use case is quite relatable, especially when integrating wolfSSL into a cross-platform embedded and CI/CD environment via CMake.
From your log, the `-DNO_PSK` and `-DNO_DSA` macros are being defined both in `user_settings.h` and via compile flags. This typically causes the "macro redefined" error you're seeing. wolfSSL expects either `user_settings.h` to be used (with `WOLFSSL_USER_SETTINGS` defined), or for all config macros to be passed via the compiler command line — but not both at once with overlapping definitions.
**Suggested fix:**
- If you are using `user_settings.h` (as it seems from `-DWOLFSSL_USER_SETTINGS`), make sure to **remove any overlapping `-D` defines** from your CMake configuration.
- Alternatively, if you prefer setting everything from CMake, disable `WOLFSSL_USER_SETTINGS` and avoid including `user_settings.h`.
You can check your build logic or wrapper CMakeLists.txt to ensure these flags aren't set twice unintentionally.
Let us know if you’d like help reviewing your CMake logic or want a minimal working setup for reference.
Best,
wave road