Skip to content

Releases: Sunrisepeak/opencv-m

opencv-m v0.0.10

Choose a tag to compare

@Sunrisepeak Sunrisepeak released this 22 Jul 12:59
a6af9d2

What's Changed

  • fix(build): migrate per-glob flags to OS-conditional cfg tables (mcpp#258) — zero dead-glob warnings on every platform by @Sunrisepeak in #16

Full Changelog: v0.0.9...v0.0.10

v0.0.9

Choose a tag to compare

@Sunrisepeak Sunrisepeak released this 22 Jul 01:09
9b839de

Patch release — windows/clang consumer fix.

  • fix(build): OpenCV's x86_64 baseline is SSE3, and -msse3 was a global cfg cxxflag that also tagged the module-interface units (src/.cppm). clang bakes the target feature into opencv..pcm, so a CONSUMER TU compiled at plain baseline could not load the BMI (-Wmodule-file-config-mismatch → cascading 'use of undeclared identifier cv'). The package's own tests passed (they carry the same -msse3, a superset loads) and gcc does not enforce this, so it was invisible until opencv was consumed as a dependency on windows/clang. -msse3 now applies per-glob to the library TUs only; the module interfaces compile at baseline, so opencv..pcm loads in any importer.
  • CI: a Module-interface baseline guard fails if any src/*.cppm compile line carries a target-feature flag; CI mcpp pin → 0.0.102 (the per-glob-under-cfg syntax needs #258).

No public C++ API change from v0.0.8. Supersedes v0.0.8, which is not usable as a windows/clang dependency. Requires mcpp >= 0.0.102.

v0.0.8

Choose a tag to compare

@Sunrisepeak Sunrisepeak released this 21 Jul 23:04
60f1332

Patch release.

  • fix(template): the --template opencv scaffold did std::println(stderr, …) under a bare import std;; modules do not export the <cstdio> stderr macro, so the generated project failed to compile. The template now #include <cstdio> (matching examples/gray_pipeline), and CI gained a lint that fails a template TU touching stderr/stdout/stdin under import std; without .

No library source or ABI change from v0.0.7; the C++ module surface is identical. Verified end-to-end: mcpp new … --template opencv → build → run produces a grayscale PNG, and the dnn/unifont features build from a consumer.

opencv-m v0.0.7

Choose a tag to compare

@Sunrisepeak Sunrisepeak released this 21 Jul 12:46
ebcf2f0

单仓库化:OpenCV 源码内置,compat.opencv 退役

本版本将 OpenCV 5.0.0 的完整源码构建收入本仓库,不再经由包索引侧的 compat.opencv 描述符。

  • 源码内置third_party/opencv-5.0.0/,官方 tag tarball 的裁剪导入(8 模块 + 7 第三方组件,1969 文件,48 MB),sha256 锁定,零补丁;tools/vendor/import_opencv.sh 可复现。
  • 构建期配置以生成物提交gen/:gen/common/ 为三平台逐字节相同的产物,gen/{linux,macosx,windows}/ 为平台相关快照。消费端无需执行 CMake。
  • 构建描述mcpp.toml(51 组逐 glob 编译选项、平台条件源集合、特性定义)+ build.mcpp(仅承担清单语法无法表达的三件事:平台 include 目录、平台 × dnn 源注入、unifont 字体嵌入)。
  • 外部依赖仅 compat.ffmpeg(videoio 的 FFmpeg 后端)。

平台 × 工具链矩阵

CI 五条腿全部为必需并全部通过:Linux/gcc 16、Linux/llvm 22、Linux/gcc --target x86_64-linux-musl(静态链接)、macOS/llvm(arm64)、Windows/llvm。

其他变更

  • src/matx_ops.inc 改用整类型推导,规避 clang 20/22 的模块 BMI 前端崩溃(参见 mcpp#256);gcc 语义已回归验证。
  • Windows 平台差异经 gen/windows/tu/w*/ 桩命名空间表达(mcpp#258 落地后可整体移除)。
  • 新增中英双语 README 与 docs/architecture.{md,en.md} 架构设计说明。
  • templates/ 占位符改用 mcpp 渲染器实际支持的 {{project.name}} / {{self.name}} / {{self.version}},并加 CI 检查。

要求

mcpp ≥ 0.0.101(per-OS 特性语义)。

opencv-m v0.0.6

Choose a tag to compare

@github-actions github-actions released this 20 Jul 08:42
8856edc

What's Changed

  • feat: v0.0.6 — clang static-inline export forwarding layer (import opencv.cv on macOS/windows) by @Sunrisepeak in #8

Full Changelog: v0.0.5...v0.0.6

opencv-m v0.0.5

Choose a tag to compare

@github-actions github-actions released this 20 Jul 00:14
f1b8762

What's Changed

  • fix: v0.0.5 — prune static-inline exports clang rejects (macOS import opencv.cv) by @Sunrisepeak in #6

Full Changelog: v0.0.4...v0.0.5

opencv-m v0.0.4

Choose a tag to compare

@github-actions github-actions released this 19 Jul 05:44
709c868

What's Changed

  • feat: v0.0.4 — 模块级 dnn/unifont feature(mcpp#243 转发) by @Sunrisepeak in #5

Full Changelog: v0.0.3...v0.0.4

opencv-m v0.0.3

Choose a tag to compare

@github-actions github-actions released this 19 Jul 01:45
f6b98d6

What's Changed

  • feat: Matx/Vec 算子替换层(R1)+ 混用 TU 确定性解析(R2) by @Sunrisepeak in #3
  • feat: v0.0.3 — 切换到统一 compat.opencv(FFmpeg videoio)+ mcpp 0.0.98 by @Sunrisepeak in #4

Full Changelog: v0.0.2...v0.0.3

opencv-m v0.0.2

Choose a tag to compare

@github-actions github-actions released this 18 Jul 06:30
c1b3811

What's Changed

  • fix: replacement surface for upstream static-inline operators (v0.0.2) by @Sunrisepeak in #2

Full Changelog: v0.0.1...v0.0.2

opencv-m v0.0.1

Choose a tag to compare

@github-actions github-actions released this 18 Jul 05:46
6d9d236

What's Changed

  • feat: OpenCV 5 as C++23 modules — thin module layer over compat.opencv5 source build (v0.0.1) by @Sunrisepeak in #1

New Contributors

Full Changelog: https://github.com/Sunrisepeak/opencv-m/commits/v0.0.1