Skip to content

Support module-manager kernels in CMake builds #770

Description

@fdesbiens

CMake can build the standard and SMP kernels, but it cannot build a ThreadX kernel with module-manager support. Projects using FetchContent must patch the ThreadX build to select module ports and module-manager sources. This tracks the request in #432.

Requirements:

  • Add a CMake cache option for a module-manager kernel, disabled by default. Keep the existing threadx target and azrtos::threadx alias usable by consumers.
  • Select the matching module port implementation and compile the common and port-specific module-manager sources. Publish the headers and compile settings needed by applications that use the module-manager APIs.
  • Fail configuration with a clear message when the selected architecture, toolchain, or SMP combination has no supported module-manager build.
  • Document the option, the initially supported ports, and how a FetchContent consumer enables it. Keep the loadable module library as a separate build product.
  • Add CMake/Ninja build coverage for each supported module-manager port and a consumer check that compiles against the module-manager API. Confirm the default and SMP builds still work.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature or enhancement request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions