-
Notifications
You must be signed in to change notification settings - Fork 206
Description
Is your feature request related to a problem? Please describe.
As an integrator of FreeRTOS-Plus-TCP would like to support compilation via CMake.
Describe the solution you'd like
I would like to be able to integrate FreeRTOS-Plus-TCP via CMake to support a simpler build environment for native and cross-compilation.
I typically build my environments with an opt-out approach to all warnings and issues linters/compilers provide while compiling/building. The primary compilers I use are GNU and Clang (sometimes MSVC).
I typically pull in repositories of this kind using (FetchContent)[https://cmake.org/cmake/help/latest/module/FetchContent.html?highlight=fetchcontent] functionality as it provides one key benefit over git submodules which is to allow a top level project to dictate the version being pulled, yet others FetchContent repos may request different versions. Allowing the integrator of this project to decide on the version being pulled. It also allows for a simple migration if/when a contributor decides to fork a repo (if required).
Describe alternatives you've considered
There are other build environments out there that support cross compilation (eg. meson, bazel); however, CMake is the most wide spread and widely used. It is also the one that has support in the FreeRTOS-Kernel project as of v10.5.0. Supporting other build environments in the future is not hindered by supporting CMake now.
Additional context
I will provide an example build of the existing code that I lay over the current FreeRTOS-Plus-TCP that allows me to compile for both GCC and CLang and provides hooks to compile with other compilers.
With the addition of the compiler warning opt-out approach it will also identify documentation and other potential fixes that you may want to clean-up within the code, now that those compilers are defined with the strictest of measures.