Skip to content

Make NodeLink a Modular Installable Library #223

@icypress99

Description

@icypress99

Description:
Currently, NodeLink requires users to include the full source code in their projects. To improve usability and integration, we should refactor NodeLink so that it can be installed as a module, similar to QtMqtt. This will allow users to link against it via find_package(NodeLink REQUIRED) and target_link_libraries(MyProject PRIVATE NodeLink) without copying the entire source code.

Additionally, all example projects and demos should be updated to use the new modular approach.

Acceptance Criteria:

  • NodeLink can be installed as a system or project library (via CMake install and find_package).
  • Existing examples updated to link against NodeLink as a module rather than including source code.
  • Documentation updated to show installation and usage instructions for modular integration.
  • Ensure backward compatibility where possible or document breaking changes.
  • Tests/examples should build and run correctly using the modular setup.

Technical Notes:

  • Consider using CMake EXPORT targets for proper modular linking.
  • Review how QtMqtt handles modular CMake installation for reference.
  • Update CMakeLists.txt in the root and examples directories.
  • Ensure proper versioning and namespace management.

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationenhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions