From 2d478748209f7dfb932eeabdd2378af012f08457 Mon Sep 17 00:00:00 2001 From: adisbladis Date: Mon, 11 Dec 2023 16:45:25 +1300 Subject: [PATCH] lib.cmakeOptionType: Statically compute types list --- lib/strings.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/strings.nix b/lib/strings.nix index 3403f9f32bb6..93247cfcf35e 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -771,12 +771,13 @@ rec { cmakeOptionType "string" "ENGINE" "sdl2" => "-DENGINE:STRING=sdl2" */ - cmakeOptionType = type: feature: value: - assert (lib.elem (lib.toUpper type) - [ "BOOL" "FILEPATH" "PATH" "STRING" "INTERNAL" ]); - assert (lib.isString feature); - assert (lib.isString value); - "-D${feature}:${lib.toUpper type}=${value}"; + cmakeOptionType = let + types = [ "BOOL" "FILEPATH" "PATH" "STRING" "INTERNAL" ]; + in type: feature: value: + assert (elem (toUpper type) types); + assert (isString feature); + assert (isString value); + "-D${feature}:${toUpper type}=${value}"; /* Create a -D={TRUE,FALSE} string that can be passed to typical CMake invocations.