From 8ee2a0d12fed6200b378c1b28d7608e44dc30d85 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 28 Jul 2026 15:38:23 +0000 Subject: [PATCH] Export the tap::ambi alias, fetch GTest by git clone, fix the book's site-url Three convention alignments, each verified locally. Export `tap::ambi`, the alias taphouse's namespace convention has documented all along but that this repo never actually created. `AmbiTap::ambitap` stays, so existing consumers are unaffected; the new spelling is additive. Fetch googletest by git clone at a commit pin instead of a release tarball. Every sibling library (DspTap/MuTap/RatioTap/SampleRateTap) already uses the clone form, and the tarball is the one mechanism an HTTPS-proxied build environment blocks -- which made AmbiTap the only library in the family whose tests could not even be configured behind a proxy. The version is unchanged (v1.15.2, now pinned by its commit rather than a re-pointable tag); the family's v1.15.2-vs-v1.14.0 split is noted in the comment as a separate, deliberate call. Fix the book's site-url. docs.yml assembles the Pages site with the book at the root and Doxygen under site/api/, so the book is served from /AmbiTap/, not /AmbiTap/book/. site-url feeds the absolute links in mdBook's generated 404.html, so the 404 page's "home" link pointed at a path the site does not have. Verified: configure succeeds behind the proxy without any workaround (it did not before), 156/156 tests pass, and the book builds with 404.html now linking /AmbiTap/. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01JhhQ93r2E1QTnCx46YfX8j --- CMakeLists.txt | 6 ++++++ book/book.toml | 7 ++++++- tests/CMakeLists.txt | 14 +++++++++++--- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cb3abd3..a09314c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,6 +102,12 @@ add_subdirectory(submodules/dsptap) add_library(ambitap INTERFACE) add_library(AmbiTap::ambitap ALIAS ambitap) +# The family-wide alias, per the namespace convention in taphouse's README: one +# `tap::` sub-namespace per repo, and the CMake alias matches it. The +# older spelling above stays so existing consumers keep working; prefer +# `tap::ambi` in new code. Note this is a build-tree alias only -- the +# installed config package still exports under its own namespace. +add_library(tap::ambi ALIAS ambitap) target_include_directories(ambitap INTERFACE $ $) diff --git a/book/book.toml b/book/book.toml index 5c200e0..f9248de 100644 --- a/book/book.toml +++ b/book/book.toml @@ -11,4 +11,9 @@ create-missing = false [output.html] default-theme = "rust" git-repository-url = "https://github.com/tap/AmbiTap" -site-url = "/AmbiTap/book/" +# The Pages site is assembled in docs.yml as site/ with this book at the ROOT +# (and the Doxygen API reference under site/api/), so the book is served from +# /AmbiTap/, not /AmbiTap/book/. site-url feeds the absolute links in the +# generated 404.html; pointing it at a path the site does not have gave the +# 404 page a broken "home" link. +site-url = "/AmbiTap/" diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 8fb621a..3ae34f9 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,8 +1,16 @@ include(FetchContent) +# Fetched by git clone at a commit pin, which is the form every sibling *Tap repo +# uses (DspTap/MuTap/RatioTap/SampleRateTap). This repo previously declared a +# release *tarball* instead; that is the one mechanism an HTTPS-proxied build +# environment blocks, so AmbiTap was the only library in the family whose tests +# could not be configured behind a proxy. Note the family currently runs two +# GTest versions -- this repo on v1.15.2, the other four on v1.14.0. Unifying +# them is a deliberate call for whoever needs it, not a side effect of this +# mechanism change. FetchContent_Declare(googletest - URL https://github.com/google/googletest/archive/refs/tags/v1.15.2.tar.gz - URL_HASH SHA256=7b42b4d6ed48810c5362c265a17faebe90dc2373c885e5216439d37927f02926 - DOWNLOAD_EXTRACT_TIMESTAMP TRUE + GIT_REPOSITORY https://github.com/google/googletest.git + # Commit pin, not the movable tag: tags can be re-pointed upstream. + GIT_TAG b514bdc898e2951020cbdca1304b75f5950d1f59 # v1.15.2 # Prefer an already-installed GTest (offline builds, distro packages). FIND_PACKAGE_ARGS NAMES GTest )