mirror of
https://github.com/KhronosGroup/Vulkan-Hpp.git
synced 2024-10-14 16:32:17 +00:00
Merge pull request #60 from asuessenbach/copyright
Added copyright message from <comment> section in vk.xml
This commit is contained in:
commit
c66b98b4e8
@ -38,7 +38,7 @@
|
|||||||
|
|
||||||
#include <tinyxml2.h>
|
#include <tinyxml2.h>
|
||||||
|
|
||||||
const std::string licenseHeader(
|
const std::string nvidiaLicenseHeader(
|
||||||
"// Copyright(c) 2015-2016, NVIDIA CORPORATION. All rights reserved.\n"
|
"// Copyright(c) 2015-2016, NVIDIA CORPORATION. All rights reserved.\n"
|
||||||
"//\n"
|
"//\n"
|
||||||
"// Redistribution and use in source and binary forms, with or without\n"
|
"// Redistribution and use in source and binary forms, with or without\n"
|
||||||
@ -315,6 +315,7 @@ bool readCommandParam( tinyxml2::XMLElement * element, DependencyData & typeData
|
|||||||
std::map<std::string, CommandData>::iterator readCommandProto(tinyxml2::XMLElement * element, std::list<DependencyData> & dependencies, std::map<std::string, CommandData> & commands);
|
std::map<std::string, CommandData>::iterator readCommandProto(tinyxml2::XMLElement * element, std::list<DependencyData> & dependencies, std::map<std::string, CommandData> & commands);
|
||||||
void readCommands( tinyxml2::XMLElement * element, std::list<DependencyData> & dependencies, std::map<std::string,CommandData> & commands, std::map<std::string,HandleData> & handles, std::set<std::string> const& tags );
|
void readCommands( tinyxml2::XMLElement * element, std::list<DependencyData> & dependencies, std::map<std::string,CommandData> & commands, std::map<std::string,HandleData> & handles, std::set<std::string> const& tags );
|
||||||
void readCommandsCommand(tinyxml2::XMLElement * element, std::list<DependencyData> & dependencies, std::map<std::string, CommandData> & commands, std::map<std::string, HandleData> & handles, std::set<std::string> const& tags);
|
void readCommandsCommand(tinyxml2::XMLElement * element, std::list<DependencyData> & dependencies, std::map<std::string, CommandData> & commands, std::map<std::string, HandleData> & handles, std::set<std::string> const& tags);
|
||||||
|
void readComment(tinyxml2::XMLElement * element, std::string & header);
|
||||||
void readEnums( tinyxml2::XMLElement * element, std::list<DependencyData> & dependencies, std::map<std::string,EnumData> & enums, std::set<std::string> const& tags, std::set<std::string> & vkTypes );
|
void readEnums( tinyxml2::XMLElement * element, std::list<DependencyData> & dependencies, std::map<std::string,EnumData> & enums, std::set<std::string> const& tags, std::set<std::string> & vkTypes );
|
||||||
void readEnumsEnum( tinyxml2::XMLElement * element, EnumData & enumData, std::string const& tag );
|
void readEnumsEnum( tinyxml2::XMLElement * element, EnumData & enumData, std::string const& tag );
|
||||||
void readExtensionRequire(tinyxml2::XMLElement * element, std::string const& protect, std::string const& tag, std::map<std::string, CommandData> & commands, std::map<std::string, EnumData> & enums, std::map<std::string, FlagData> & flags, std::map<std::string, ScalarData> & scalars, std::map<std::string, StructData> & structs);
|
void readExtensionRequire(tinyxml2::XMLElement * element, std::string const& protect, std::string const& tag, std::map<std::string, CommandData> & commands, std::map<std::string, EnumData> & enums, std::map<std::string, FlagData> & flags, std::map<std::string, ScalarData> & scalars, std::map<std::string, StructData> & structs);
|
||||||
@ -811,6 +812,25 @@ void readCommandsCommand(tinyxml2::XMLElement * element, std::list<DependencyDat
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void readComment(tinyxml2::XMLElement * element, std::string & header)
|
||||||
|
{
|
||||||
|
assert(element->GetText());
|
||||||
|
assert(header.empty());
|
||||||
|
header = element->GetText();
|
||||||
|
assert(header.find("\nCopyright") == 0);
|
||||||
|
|
||||||
|
size_t pos = header.find("\n\n-----");
|
||||||
|
assert(pos != std::string::npos);
|
||||||
|
header.erase(pos);
|
||||||
|
|
||||||
|
for (size_t pos = header.find('\n'); pos != std::string::npos; pos = header.find('\n', pos + 1))
|
||||||
|
{
|
||||||
|
header.replace(pos, 1, "\n// ");
|
||||||
|
}
|
||||||
|
|
||||||
|
header += "\n\n// This header is generated from the Khronos Vulkan XML API Registry.";
|
||||||
|
}
|
||||||
|
|
||||||
void readEnums( tinyxml2::XMLElement * element, std::list<DependencyData> & dependencies, std::map<std::string,EnumData> & enums, std::set<std::string> const& tags, std::set<std::string> & vkTypes )
|
void readEnums( tinyxml2::XMLElement * element, std::list<DependencyData> & dependencies, std::map<std::string,EnumData> & enums, std::set<std::string> const& tags, std::set<std::string> & vkTypes )
|
||||||
{
|
{
|
||||||
assert( element->Attribute( "name" ) );
|
assert( element->Attribute( "name" ) );
|
||||||
@ -2605,6 +2625,7 @@ int main( int argc, char **argv )
|
|||||||
std::map<std::string, StructData> structs;
|
std::map<std::string, StructData> structs;
|
||||||
std::set<std::string> tags;
|
std::set<std::string> tags;
|
||||||
std::set<std::string> vkTypes;
|
std::set<std::string> vkTypes;
|
||||||
|
std::string vulkanLicenseHeader;
|
||||||
|
|
||||||
tinyxml2::XMLElement * child = registryElement->FirstChildElement();
|
tinyxml2::XMLElement * child = registryElement->FirstChildElement();
|
||||||
do
|
do
|
||||||
@ -2615,6 +2636,10 @@ int main( int argc, char **argv )
|
|||||||
{
|
{
|
||||||
readCommands( child, dependencies, commands, handles, tags );
|
readCommands( child, dependencies, commands, handles, tags );
|
||||||
}
|
}
|
||||||
|
else if (value == "comment")
|
||||||
|
{
|
||||||
|
readComment(child, vulkanLicenseHeader);
|
||||||
|
}
|
||||||
else if ( value == "enums" )
|
else if ( value == "enums" )
|
||||||
{
|
{
|
||||||
readEnums( child, dependencies, enums, tags, vkTypes );
|
readEnums( child, dependencies, enums, tags, vkTypes );
|
||||||
@ -2633,7 +2658,7 @@ int main( int argc, char **argv )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
assert( ( value == "comment" ) || ( value == "feature" ) || ( value == "vendorids" ) );
|
assert( ( value == "feature" ) || ( value == "vendorids" ) );
|
||||||
}
|
}
|
||||||
} while ( child = child->NextSiblingElement() );
|
} while ( child = child->NextSiblingElement() );
|
||||||
|
|
||||||
@ -2644,13 +2669,14 @@ int main( int argc, char **argv )
|
|||||||
createDefaults( sortedDependencies, enums, defaultValues );
|
createDefaults( sortedDependencies, enums, defaultValues );
|
||||||
|
|
||||||
std::ofstream ofs( "vk_cpp.h" );
|
std::ofstream ofs( "vk_cpp.h" );
|
||||||
ofs << licenseHeader << std::endl;
|
ofs << nvidiaLicenseHeader << std::endl
|
||||||
|
<< vulkanLicenseHeader << std::endl
|
||||||
ofs << std::endl << "#ifndef VK_CPP_H_" << std::endl
|
<< std::endl
|
||||||
|
<< std::endl
|
||||||
|
<< "#ifndef VK_CPP_H_" << std::endl
|
||||||
<< "#define VK_CPP_H_" << std::endl
|
<< "#define VK_CPP_H_" << std::endl
|
||||||
<< std::endl;
|
<< std::endl
|
||||||
|
<< "#include <array>" << std::endl
|
||||||
ofs << "#include <array>" << std::endl
|
|
||||||
<< "#include <cassert>" << std::endl
|
<< "#include <cassert>" << std::endl
|
||||||
<< "#include <cstdint>" << std::endl
|
<< "#include <cstdint>" << std::endl
|
||||||
<< "#include <cstring>" << std::endl
|
<< "#include <cstring>" << std::endl
|
||||||
@ -2659,6 +2685,7 @@ int main( int argc, char **argv )
|
|||||||
<< "# include <vector>" << std::endl
|
<< "# include <vector>" << std::endl
|
||||||
<< "#endif /*VKCPP_ENHANCED_MODE*/" << std::endl
|
<< "#endif /*VKCPP_ENHANCED_MODE*/" << std::endl
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
|
|
||||||
writeVersionCheck( ofs, version );
|
writeVersionCheck( ofs, version );
|
||||||
writeTypesafeCheck(ofs, typesafeCheck );
|
writeTypesafeCheck(ofs, typesafeCheck );
|
||||||
ofs << "namespace vk" << std::endl
|
ofs << "namespace vk" << std::endl
|
||||||
|
@ -25,6 +25,30 @@
|
|||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
// Copyright (c) 2015-2016 The Khronos Group Inc.
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and/or associated documentation files (the
|
||||||
|
// "Materials"), to deal in the Materials without restriction, including
|
||||||
|
// without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
// distribute, sublicense, and/or sell copies of the Materials, and to
|
||||||
|
// permit persons to whom the Materials are furnished to do so, subject to
|
||||||
|
// the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included
|
||||||
|
// in all copies or substantial portions of the Materials.
|
||||||
|
//
|
||||||
|
// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||||
|
|
||||||
|
// This header is generated from the Khronos Vulkan XML API Registry.
|
||||||
|
|
||||||
|
|
||||||
#ifndef VK_CPP_H_
|
#ifndef VK_CPP_H_
|
||||||
#define VK_CPP_H_
|
#define VK_CPP_H_
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user