Skip to content

Release 1.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 30 Dec 06:48
· 12 commits to master since this release

Seemake — Release Notes v1.0.0

Release Date: December 30, 2025
Version: 1.0.0
Tag: v1.0.0
License: Apache-2.0

Overview

Seemake is a robust CMake project analyzer crafted for enhancing build automation tooling, especially in contexts like Unipac and HepSW package managers. It systematically parses CMake projects to extract targets, dependencies, configuration options, and structural metadata with extensible architecture and multi-output reporting.

Highlights of v1.0.0

This inaugural stable release consolidates the core functionality that defines Seemake’s value proposition:

Core Features

  • Full Project Tree Analysis — Recursively traverse and analyze CMake projects (including subdirectories) to build a complete conceptual model of the build.
  • Target and Dependency Detection — Identify executables, static/shared libraries, interface libraries, and associated dependency constraints.
  • Build Option Extraction — Enumerate all configurable CMake options (option(...), set(...) with cache defaults) to support introspection and UI integration.
  • Extensible Parser Architecture — Custom handlers for edge-case constructs and non-standard project layouts.
  • Multi-Format Reporting — Output analysis results as plain text, structured JSON, or Graphviz DOT for visualization workflows.

Stability and Performance

  • Baseline parsing logic hardened against typical CMake constructs used in real-world modular C/C++ ecosystems.
  • Performance characterization: small projects analyzed in ~100 ms; large, multi-subdirectory projects complete within a few seconds.

Documentation & Contribution

  • Initial documentation is available in the docs/ folder.
  • Clear extension points documented for adding new pattern handlers.
  • Project uses Gradle for build automation and is compatible with standard JVM toolchains.

Known Limitations

  • Full generator expression expansion is partial; some complex logic dependent on evaluation context is not yet resolved.
  • Macro/function expansions beyond simple cases require future enhancements.
  • Cross-compilation contexts and cache variable inheritance are not fully supported.

Migration and Upgrade Notes

As this is the first stable release, future releases will follow semantic versioning principles. Backward compatibility guarantees will begin with v1.x.

Full Changelog: https://github.com/thisismeamir/seemake/commits/v1.0.0