From 3ad9aa4e3f49aa2e846233aa90f08148ec53e804 Mon Sep 17 00:00:00 2001 From: Ethan Carter Edwards Date: Mon, 5 Oct 2026 12:23:53 -0400 Subject: [PATCH] doc: testers: document meta.cmakeConfigModules Signed-off-by: Ethan Carter Edwards --- doc/build-helpers/testers.chapter.md | 19 ++++++++++++++++++- doc/redirects.json | 6 ++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/doc/build-helpers/testers.chapter.md b/doc/build-helpers/testers.chapter.md index 241acb439ea6..313004b0b454 100644 --- a/doc/build-helpers/testers.chapter.md +++ b/doc/build-helpers/testers.chapter.md @@ -41,9 +41,26 @@ If the `moduleNames` argument is omitted, `hasPkgConfigModules` will use `meta.p ## `hasCmakeConfigModules` {#tester-hasCmakeConfigModules} Checks whether a package exposes a given list of `*config.cmake` modules. +If the `moduleNames` argument is omitted, `hasCmakeConfigModules` will use `meta.cmakeConfigModules`. Note the moduleNames used in cmake find_package are case sensitive. -:::{.example #ex-hascmakeconfigmodules} +:::{.example #ex-hascmakeconfigmodules-defaultvalues} + +# Check that `*config.cmake` modules are exposed using default values + +```nix +{ + passthru.tests.cmake-config = testers.hasCmakeConfigModules { package = finalAttrs.finalPackage; }; + + meta.cmakeConfigModules = [ "Foo" ]; +} +``` + +::: + + +[]{#ex-hascmakeconfigmodules} +:::{.example #ex-hascmakeconfigmodules-explicitmodules} # Check that `*config.cmake` modules are exposed using explicit module names diff --git a/doc/redirects.json b/doc/redirects.json index 6e62c5579315..f4f514e35de3 100644 --- a/doc/redirects.json +++ b/doc/redirects.json @@ -2252,6 +2252,12 @@ "ex-hascmakeconfigmodules": [ "index.html#ex-hascmakeconfigmodules" ], + "ex-hascmakeconfigmodules-defaultvalues": [ + "index.html#ex-hascmakeconfigmodules-defaultvalues" + ], + "ex-hascmakeconfigmodules-explicitmodules": [ + "index.html#ex-hascmakeconfigmodules-explicitmodules" + ], "tester-lycheeLinkCheck": [ "index.html#tester-lycheeLinkCheck" ],