wyvrnpm 2.12.2 → 2.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/cmake/cpp.cmake +6 -8
- package/package.json +1 -1
- package/src/toolchain/template.cmake +7 -5
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ A simple, private C++ package manager that works with any static file hosting pr
|
|
|
4
4
|
|
|
5
5
|
There is no central registry. You control where packages are hosted.
|
|
6
6
|
|
|
7
|
-
> **README version: 2.
|
|
7
|
+
> **README version: 2.12.3** — Highlights since 2.8.3: profile's `compiler.cppstd` is now authoritative for the toolchain — `CMAKE_CXX_STANDARD` is set unconditionally before `project()` and `cpp.cmake` no longer touches it post-`project()`, so a `-DCMAKE_CXX_STANDARD=23` on the cmake CLI cannot defeat a `cppstd=20` profile; `wyvrnpm install` exits non-zero on partial failure (sha256-mismatch, extract-failed, no-exact-match, source-build-failed, not-found) and prints a per-dep failure summary instead of misreporting "Done — N installed"; streaming publish via `archiver` (handles >2 GiB artefacts that `adm-zip` choked on — e.g. gRPC's `RelWithDebInfo` static libs); `--build-dir <path>` + `wyvrn.local.json:binaryDirRoot` to sidestep `build/` case-insensitive-FS collisions on repos with a Bazel/Buck `BUILD` file at the root (gRPC, …); `wyvrnpm version` to read / set / partially update the top-level `version` field from CI pipelines (`wyvrnpm version --build "$BUILD_ID"`); `wyvrnpm bootstrap <git-url>` to scaffold a first-draft `wyvrn.json` for OSS C++ libraries (fmt, spdlog, zlib, …) with cookbook-driven defaults; `wyvrnpm publish --dry-run` (npm-style preview of the upload plan, plus `wouldOverwrite` flag in `--format json`); `wyvrnpm build --config Debug,Release` / `--all-configs` to build multiple configurations from a single configure; resolver hardened against the CloudFront brotli-vs-identity cache split (resolved a class of bugs where `show` listed a freshly-published version that `install` claimed didn't exist). Full list in `claude/EVALUATION.md`.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -1820,7 +1820,7 @@ cmake --build build/wyvrn-default --config Release
|
|
|
1820
1820
|
|
|
1821
1821
|
| File | Provides |
|
|
1822
1822
|
|---|---|
|
|
1823
|
-
| `cpp.cmake` | C++
|
|
1823
|
+
| `cpp.cmake` | Post-`project()` C++ language defaults. `CMAKE_CXX_STANDARD` is owned by the toolchain (set unconditionally from `profile.compiler.cppstd` before `project()` — a `-DCMAKE_CXX_STANDARD=…` on the cmake CLI cannot override it). |
|
|
1824
1824
|
| `variables.cmake` | Platform detection (`WYVRN_PLATFORM_WIN`, …) and compiler flags. |
|
|
1825
1825
|
| `options.cmake` | Feature toggles (`WYVRN_ENABLE_LOG`, …). |
|
|
1826
1826
|
| `functions.cmake` | `SETUP_LIBRARY` / `SETUP_EXE` plus HAL source-collection helpers. |
|
package/cmake/cpp.cmake
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
|
8
|
-
endif()
|
|
1
|
+
# C++ language defaults that survive after project().
|
|
2
|
+
#
|
|
3
|
+
# CMAKE_CXX_STANDARD / _REQUIRED / _EXTENSIONS are owned by the toolchain
|
|
4
|
+
# (wyvrn_toolchain.cmake sets them from the active profile's compiler.cppstd
|
|
5
|
+
# before project()). Re-setting them here would clobber the profile-derived
|
|
6
|
+
# value — so we deliberately don't.
|
|
9
7
|
set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API OFF)
|
package/package.json
CHANGED
|
@@ -39,11 +39,13 @@ set(WYVRN_PROFILE_RUNTIME "{{PROFILE_RUNTIME}}")
|
|
|
39
39
|
set(WYVRNPM_CMAKE_DIR "{{WYVRNPM_CMAKE_DIR}}")
|
|
40
40
|
|
|
41
41
|
# ── C++ standard ──────────────────────────────────────────────────────────────
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
# Profile-driven and unconditional. Anyone consuming this toolchain accepts
|
|
43
|
+
# the active profile's `compiler.cppstd` as authoritative — a -DCMAKE_CXX_STANDARD
|
|
44
|
+
# on the cmake command line cannot defeat it. Use a different profile (or
|
|
45
|
+
# settings override on the dep) to change the standard.
|
|
46
|
+
set(CMAKE_CXX_STANDARD {{PROFILE_CPPSTD}})
|
|
47
|
+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
48
|
+
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
47
49
|
|
|
48
50
|
# ── MSVC runtime library ──────────────────────────────────────────────────────
|
|
49
51
|
# Only meaningful when the actual compiler is MSVC. CMake ignores this on other
|