Zum Inhalt
HALOWERK

Technische Prüfungen & Formate

F TD2000 DOCUMENTS 07 / cmake42 context target generator expression program

Reconstruct configuration-specific generator expression results before generating compiler or linker arguments.

POST https://detect.halowerk.com/v1/F-TD2000-DOCUMENTS-07/cmake42-context-target-generator-expression-program

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
artifactobjectJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "artifact"
  ],
  "properties": {
    "artifact": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "cmakeGenex"
      ],
      "properties": {
        "cmakeGenex": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "data",
            "claim"
          ],
          "properties": {
            "data": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "context",
                "targets",
                "nodes",
                "expressions"
              ],
              "properties": {
                "context": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "configuration",
                    "compile_language",
                    "link_language",
                    "cxx_compiler_id",
                    "c_compiler_id",
                    "current_target",
                    "interface",
                    "link_context"
                  ],
                  "properties": {
                    "configuration": {
                      "type": "string",
                      "maxLength": 128,
                      "minLength": 0
                    },
                    "compile_language": {
                      "type": "string",
                      "maxLength": 32,
                      "minLength": 0
                    },
                    "link_language": {
                      "type": "string",
                      "maxLength": 32,
                      "minLength": 0
                    },
                    "cxx_compiler_id": {
                      "type": "string",
                      "maxLength": 64,
                      "minLength": 0
                    },
                    "c_compiler_id": {
                      "type": "string",
                      "maxLength": 64,
                      "minLength": 0
                    },
                    "current_target": {
                      "type": "string",
                      "maxLength": 128,
                      "minLength": 0
                    },
                    "interface": {
                      "enum": [
                        "build",
                        "install"
                      ]
                    },
                    "link_context": {
                      "type": "boolean"
                    }
                  }
                },
                "targets": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "name",
                      "properties"
                    ],
                    "properties": {
                      "name": {
                        "type": "string",
                        "maxLength": 128,
                        "minLength": 1
                      },
                      "properties": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "name",
                            "value"
                          ],
                          "properties": {
                            "name": {
                              "type": "string",
                              "maxLength": 128,
                              "minLength": 1
                            },
                            "value": {
                              "type": "string",
                              "maxLength": 2048,
                              "minLength": 0
                            }
                          }
                        },
                        "maxItems": 64,
                        "minItems": 0
                      }
                    }
                  },
                  "maxItems": 32,
                  "minItems": 0
                },
                "nodes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "op",
                      "text",
                      "children"
                    ],
                    "properties": {
                      "op": {
                        "enum": [
                          "literal",
                          "IF",
                          "AND",
                          "OR",
                          "CONDITION",
                          "BOOL",
                          "NOT",
                          "CONFIG",
                          "COMPILE_LANGUAGE",
                          "LINK_LANGUAGE",
                          "CXX_COMPILER_ID",
                          "C_COMPILER_ID",
                          "STREQUAL",
                          "EQUAL",
                          "VERSION_LESS",
                          "VERSION_GREATER",
                          "VERSION_EQUAL",
                          "VERSION_LESS_EQUAL",
                          "VERSION_GREATER_EQUAL",
                          "LOWER_CASE",
                          "UPPER_CASE",
                          "JOIN",
                          "IN_LIST",
                          "REMOVE_DUPLICATES",
                          "TARGET_EXISTS",
                          "TARGET_PROPERTY",
                          "BUILD_INTERFACE",
                          "INSTALL_INTERFACE",
                          "LINK_ONLY",
                          "CONCAT"
                        ]
                      },
                      "text": {
                        "type": "string",
                        "maxLength": 2048,
                        "minLength": 0
                      },
                      "children": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 127
                        },
                        "maxItems": 32,
                        "minItems": 0
                      }
                    }
                  },
                  "maxItems": 128,
                  "minItems": 1
                },
                "expressions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "name",
                      "root"
                    ],
                    "properties": {
                      "name": {
                        "type": "string",
                        "maxLength": 64,
                        "minLength": 1,
                        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]*$"
                      },
                      "root": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 127
                      }
                    }
                  },
                  "maxItems": 32,
                  "minItems": 1
                }
              }
            },
            "claim": {
              "anyOf": [
                {
                  "type": "null"
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "values"
                  ],
                  "properties": {
                    "values": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "name",
                          "value"
                        ],
                        "properties": {
                          "name": {
                            "type": "string",
                            "maxLength": 64,
                            "minLength": 1,
                            "pattern": "^[A-Za-z_][A-Za-z0-9_.-]*$"
                          },
                          "value": {
                            "type": "string",
                            "maxLength": 16000,
                            "minLength": 0
                          }
                        }
                      },
                      "maxItems": 32,
                      "minItems": 0
                    }
                  }
                }
              ]
            }
          }
        }
      }
    }
  }
}

Originalschema öffnen

Ergebnis & Dokumentation

Maschinenlesbare Dokumentation dieses Hubs

Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 15:19 UTC.

Weitere Endpunkte dieses Hubs

Alle Endpunkte dieses Hubs →