Unverified Commit 5812c533 authored by Silvan Mosberger's avatar Silvan Mosberger Committed by GitHub
Browse files

Merge pull request #273474 from adisbladis/lib-cmakeOptionType-static-list

lib.cmakeOptionType: Statically compute types list
parents a9bf124c 2d478748
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -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<condition>={TRUE,FALSE} string that can be passed to typical
     CMake invocations.