Files
gtav-src/tools_ng/etc/projbuild/projbuild.xsd
T
2025-09-29 00:52:08 +02:00

266 lines
10 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xs:import namespace="http://www.w3.org/2001/XMLSchema-instance" schemaLocation="xsi.xsd"/>
<xs:element name="rproj">
<xs:complexType>
<xs:sequence>
<xs:element ref="project"/>
<xs:element ref="solution"/>
</xs:sequence>
<xs:attribute name="Version" use="required" type="xs:decimal"/>
<xs:attribute ref="xsi:noNamespaceSchemaLocation" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="solution">
<xs:complexType/>
</xs:element>
<xs:element name="project">
<xs:complexType>
<xs:sequence>
<xs:sequence minOccurs="0">
<xs:element ref="filter"/>
<xs:element maxOccurs="unbounded" ref="file"/>
</xs:sequence>
<xs:element minOccurs="0" ref="config"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="platform"/>
</xs:sequence>
<xs:attribute name="guid"/>
<xs:attribute name="name" type="xs:NCName"/>
<xs:attribute name="path"/>
<xs:attribute name="xinclude"/>
<xs:attribute ref="xsi:noNamespaceSchemaLocation"/>
</xs:complexType>
</xs:element>
<xs:element name="filter">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="filter"/>
<xs:element maxOccurs="unbounded" ref="file"/>
</xs:sequence>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:attribute name="path" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="file">
<xs:complexType>
<xs:choice>
<xs:element ref="config"/>
<xs:element ref="custombuild"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="platform"/>
</xs:choice>
<xs:attribute name="path" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="config">
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element ref="VCCLCompilerTool"/>
<xs:element ref="VCCLX360CompilerTool"/>
</xs:choice>
<xs:element minOccurs="0" ref="librarydirectories"/>
<xs:element minOccurs="0" ref="includepaths"/>
<xs:choice minOccurs="0">
<xs:element ref="forceincludes"/>
<xs:sequence>
<xs:element ref="prelink"/>
<xs:element ref="file"/>
</xs:sequence>
</xs:choice>
<xs:element minOccurs="0" ref="defines"/>
<xs:choice minOccurs="0">
<xs:element ref="custombuild"/>
<xs:element ref="VCCustomBuildTool"/>
<xs:sequence>
<xs:element ref="options"/>
<xs:element ref="vc"/>
</xs:sequence>
</xs:choice>
</xs:sequence>
<xs:attribute name="output_path" type="xs:NCName"/>
<xs:attribute name="precompiled_header" type="xs:NCName"/>
<xs:attribute name="type" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="librarydirectories">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="librarydirectory"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="includepaths">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="includepath"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="librarydirectory">
<xs:complexType>
<xs:attribute name="path" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="includepath">
<xs:complexType>
<xs:attribute name="path" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="forceincludes">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="forceinclude"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="forceinclude">
<xs:complexType>
<xs:attribute name="order" type="xs:integer"/>
<xs:attribute name="path" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="libs">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="lib"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lib">
<xs:complexType>
<xs:attribute name="path" use="required"/>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="configuration"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="configuration">
<xs:complexType>
<xs:attribute name="name" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="prelink">
<xs:complexType>
<xs:sequence>
<xs:element ref="buildstep"/>
</xs:sequence>
<xs:attribute name="count" use="required" type="xs:integer"/>
<xs:attribute name="description" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="buildstep">
<xs:complexType>
<xs:attribute name="cmd" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="defines">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="define"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="define">
<xs:complexType>
<xs:attribute name="value" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="VCCustomBuildTool">
<xs:complexType>
<xs:attribute name="AdditionalDependencies"/>
<xs:attribute name="CommandLine" use="required"/>
<xs:attribute name="Description" use="required"/>
<xs:attribute name="Outputs" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="options">
<xs:complexType/>
</xs:element>
<xs:element name="vc">
<xs:complexType>
<xs:choice>
<xs:element ref="VCCLCompilerTool"/>
<xs:element ref="VCCLX360CompilerTool"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="platform">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="config"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="target"/>
</xs:sequence>
<xs:attribute name="name" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="target">
<xs:complexType>
<xs:sequence>
<xs:element ref="config"/>
</xs:sequence>
<xs:attribute name="name" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="custombuild">
<xs:complexType>
<xs:attribute name="command" use="required"/>
<xs:attribute name="output" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="VCCLCompilerTool">
<xs:complexType>
<xs:attribute name="AdditionalOptions"/>
<xs:attribute name="BasicRuntimeChecks" type="xs:integer"/>
<xs:attribute name="BufferSecurityCheck" type="xs:boolean"/>
<xs:attribute name="CompileAs" type="xs:integer"/>
<xs:attribute name="DebugInformationFormat" type="xs:integer"/>
<xs:attribute name="Detect64BitPortabilityProblems" type="xs:boolean"/>
<xs:attribute name="EnableEnhancedInstructionSet" type="xs:integer"/>
<xs:attribute name="EnableFiberSafeOptimizations" type="xs:boolean"/>
<xs:attribute name="EnableFunctionLevelLinking" type="xs:boolean"/>
<xs:attribute name="EnableIntrinsicFunctions" type="xs:boolean"/>
<xs:attribute name="ExceptionHandling" type="xs:integer"/>
<xs:attribute name="FavorSizeOrSpeed" type="xs:integer"/>
<xs:attribute name="FloatingPointModel" type="xs:integer"/>
<xs:attribute name="ForceConformanceInForLoopScope" type="xs:boolean"/>
<xs:attribute name="InlineFunctionExpansion" type="xs:integer"/>
<xs:attribute name="MinimalRebuild" type="xs:boolean"/>
<xs:attribute name="OmitFramePointers" type="xs:boolean"/>
<xs:attribute name="OpenMP" type="xs:boolean"/>
<xs:attribute name="Optimization" type="xs:integer"/>
<xs:attribute name="PrecompiledHeaderFile"/>
<xs:attribute name="PrecompiledHeaderThrough" type="xs:NCName"/>
<xs:attribute name="ProgramDataBaseFileName"/>
<xs:attribute name="RuntimeLibrary" type="xs:integer"/>
<xs:attribute name="RuntimeTypeInfo" type="xs:boolean"/>
<xs:attribute name="StringPooling" type="xs:boolean"/>
<xs:attribute name="UsePrecompiledHeader" type="xs:integer"/>
<xs:attribute name="WarnAsError" type="xs:boolean"/>
<xs:attribute name="WarningLevel" type="xs:integer"/>
<xs:attribute name="WholeProgramOptimization" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="VCCLX360CompilerTool">
<xs:complexType>
<xs:attribute name="AdditionalOptions"/>
<xs:attribute name="BufferSecurityCheck" type="xs:boolean"/>
<xs:attribute name="CompileAs" type="xs:integer"/>
<xs:attribute name="DebugInformationFormat" type="xs:integer"/>
<xs:attribute name="EnableFunctionLevelLinking" type="xs:boolean"/>
<xs:attribute name="EnableIntrinsicFunctions" type="xs:boolean"/>
<xs:attribute name="ExceptionHandling" type="xs:integer"/>
<xs:attribute name="FavorSizeOrSpeed" type="xs:integer"/>
<xs:attribute name="ForceConformanceInForLoopScope" type="xs:boolean"/>
<xs:attribute name="InlineFunctionExpansion" type="xs:integer"/>
<xs:attribute name="MinimalRebuild" type="xs:boolean"/>
<xs:attribute name="Optimization" type="xs:integer"/>
<xs:attribute name="ProgramDataBaseFileName"/>
<xs:attribute name="RuntimeLibrary" type="xs:integer"/>
<xs:attribute name="RuntimeTypeInfo" type="xs:boolean"/>
<xs:attribute name="UsePrecompiledHeader" use="required" type="xs:integer"/>
<xs:attribute name="WarnAsError" type="xs:boolean"/>
<xs:attribute name="WarningLevel" type="xs:integer"/>
</xs:complexType>
</xs:element>
</xs:schema>