jinja2cpp / Jinja2Cpp

Jinja2 C++ (and for C++) almost full-conformance template engine implementation
https://jinja2cpp.github.io
Mozilla Public License 2.0
481 stars 81 forks source link

Create Jinja2C++ package for vcpkg package manager #194

Open flexferrum opened 4 years ago

flexferrum commented 4 years ago

Create package for central vcpkg repository according to the guidelines:

https://github.com/microsoft/vcpkg/blob/master/CONTRIBUTING.md

AntonioCS commented 3 years ago

Hey, I have started work on this, but unfortunately failed miserably. Here is what I have so far: https://github.com/AntonioCS/vcpkg/tree/feature/port/jinja2cpp/ports/jinja2cpp I also had to update vcpkg version of expected-lite (not in that repo) but it still gives me loads of errors. Here are some of the errors when I run vcpkg jinja2cpp build

[1/18] C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe   /TP -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFMT_HEADER_ONLY=1 -DJINJA2CPP_BUILD_AS_SHARED -DJINJA2CPP_LINK_AS_SHARED -Djinja2cpp_EXPORTS -ID:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MDd -std:c++14 /showIncludes /FoCMakeFiles\jinja2cpp.dir\src\filesystem_handler.cpp.obj /FdCMakeFiles\jinja2cpp.dir\ /FS -c D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\filesystem_handler.cpp
[2/18] C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe   /TP -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFMT_HEADER_ONLY=1 -DJINJA2CPP_BUILD_AS_SHARED -DJINJA2CPP_LINK_AS_SHARED -Djinja2cpp_EXPORTS -ID:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MDd -std:c++14 /showIncludes /FoCMakeFiles\jinja2cpp.dir\src\lexer.cpp.obj /FdCMakeFiles\jinja2cpp.dir\ /FS -c D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\lexer.cpp
[3/18] C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe   /TP -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFMT_HEADER_ONLY=1 -DJINJA2CPP_BUILD_AS_SHARED -DJINJA2CPP_LINK_AS_SHARED -Djinja2cpp_EXPORTS -ID:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MDd -std:c++14 /showIncludes /FoCMakeFiles\jinja2cpp.dir\src\error_info.cpp.obj /FdCMakeFiles\jinja2cpp.dir\ /FS -c D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\error_info.cpp
[4/18] C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe   /TP -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFMT_HEADER_ONLY=1 -DJINJA2CPP_BUILD_AS_SHARED -DJINJA2CPP_LINK_AS_SHARED -Djinja2cpp_EXPORTS -ID:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MDd -std:c++14 /showIncludes /FoCMakeFiles\jinja2cpp.dir\src\serialize_filters.cpp.obj /FdCMakeFiles\jinja2cpp.dir\ /FS -c D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp
FAILED: CMakeFiles/jinja2cpp.dir/src/serialize_filters.cpp.obj 
C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe   /TP -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFMT_HEADER_ONLY=1 -DJINJA2CPP_BUILD_AS_SHARED -DJINJA2CPP_LINK_AS_SHARED -Djinja2cpp_EXPORTS -ID:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MDd -std:c++14 /showIncludes /FoCMakeFiles\jinja2cpp.dir\src\serialize_filters.cpp.obj /FdCMakeFiles\jinja2cpp.dir\ /FS -c D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(225): error C3083: 'internal': the symbol to the left of a '::' must be a type
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(225): error C2039: 'named_arg': is not a member of 'fmt'
D:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include\fmt\format-inl.h(35): note: see declaration of 'fmt'
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(225): error C2061: syntax error: identifier 'named_arg'
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(228): error C2065: 'NamedArgument': undeclared identifier
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(228): error C2062: type 'bool' unexpected
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(229): error C2065: 'ValueHandle': undeclared identifier
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(229): error C2923: 'std::vector': 'ValueHandle' is not a valid template type argument for parameter '_Ty'
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(229): error C2976: 'std::vector': too few template arguments
D:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include\boost/detail/container_fwd.hpp(135): note: see declaration of 'std::vector'
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(232): error C2631: 'CachingIdentity': a class or enum cannot be defined in an alias template
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(277): error C2988: unrecognizable template declaration/definition
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(277): error C2059: syntax error: '<end Parse>'
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(278): error C2143: syntax error: missing ';' before '{'
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(278): error C2447: '{': missing function header (old-style formal list?)
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(302): error C2631: 'XmlAttrPrinter': a class or enum cannot be defined in an alias template
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(478): error C2988: unrecognizable template declaration/definition
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(478): error C2059: syntax error: '<end Parse>'
D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\serialize_filters.cpp(479): fatal error C1004: unexpected end-of-file found
[5/18] C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe   /TP -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFMT_HEADER_ONLY=1 -DJINJA2CPP_BUILD_AS_SHARED -DJINJA2CPP_LINK_AS_SHARED -Djinja2cpp_EXPORTS -ID:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MDd -std:c++14 /showIncludes /FoCMakeFiles\jinja2cpp.dir\src\expression_parser.cpp.obj /FdCMakeFiles\jinja2cpp.dir\ /FS -c D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\expression_parser.cpp
[6/18] C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe   /TP -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFMT_HEADER_ONLY=1 -DJINJA2CPP_BUILD_AS_SHARED -DJINJA2CPP_LINK_AS_SHARED -Djinja2cpp_EXPORTS -ID:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MDd -std:c++14 /showIncludes /FoCMakeFiles\jinja2cpp.dir\src\template_env.cpp.obj /FdCMakeFiles\jinja2cpp.dir\ /FS -c D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\template_env.cpp
[7/18] C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe   /TP -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFMT_HEADER_ONLY=1 -DJINJA2CPP_BUILD_AS_SHARED -DJINJA2CPP_LINK_AS_SHARED -Djinja2cpp_EXPORTS -ID:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MDd -std:c++14 /showIncludes /FoCMakeFiles\jinja2cpp.dir\src\rapid_json_serializer.cpp.obj /FdCMakeFiles\jinja2cpp.dir\ /FS -c D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\rapid_json_serializer.cpp
[8/18] C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe   /TP -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFMT_HEADER_ONLY=1 -DJINJA2CPP_BUILD_AS_SHARED -DJINJA2CPP_LINK_AS_SHARED -Djinja2cpp_EXPORTS -ID:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MDd -std:c++14 /showIncludes /FoCMakeFiles\jinja2cpp.dir\src\expression_evaluator.cpp.obj /FdCMakeFiles\jinja2cpp.dir\ /FS -c D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\expression_evaluator.cpp
[9/18] C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe   /TP -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFMT_HEADER_ONLY=1 -DJINJA2CPP_BUILD_AS_SHARED -DJINJA2CPP_LINK_AS_SHARED -Djinja2cpp_EXPORTS -ID:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MDd -std:c++14 /showIncludes /FoCMakeFiles\jinja2cpp.dir\src\statements.cpp.obj /FdCMakeFiles\jinja2cpp.dir\ /FS -c D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\statements.cpp
[10/18] C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe   /TP -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFMT_HEADER_ONLY=1 -DJINJA2CPP_BUILD_AS_SHARED -DJINJA2CPP_LINK_AS_SHARED -Djinja2cpp_EXPORTS -ID:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MDd -std:c++14 /showIncludes /FoCMakeFiles\jinja2cpp.dir\src\internal_value.cpp.obj /FdCMakeFiles\jinja2cpp.dir\ /FS -c D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\internal_value.cpp
[11/18] C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe   /TP -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFMT_HEADER_ONLY=1 -DJINJA2CPP_BUILD_AS_SHARED -DJINJA2CPP_LINK_AS_SHARED -Djinja2cpp_EXPORTS -ID:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MDd -std:c++14 /showIncludes /FoCMakeFiles\jinja2cpp.dir\src\string_converter_filter.cpp.obj /FdCMakeFiles\jinja2cpp.dir\ /FS -c D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\string_converter_filter.cpp
[12/18] C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe   /TP -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFMT_HEADER_ONLY=1 -DJINJA2CPP_BUILD_AS_SHARED -DJINJA2CPP_LINK_AS_SHARED -Djinja2cpp_EXPORTS -ID:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\share\rapidjson\..\..\include -ID:\vcpkg\ports\jinja2cpp\vcpkg_installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MDd -std:c++14 /showIncludes /FoCMakeFiles\jinja2cpp.dir\src\filters.cpp.obj /FdCMakeFiles\jinja2cpp.dir\ /FS -c D:\vcpkg\buildtrees\jinja2cpp\src\472b3fed55-220fcbf90a\src\filters.cpp
ninja: build stopped: subcommand failed.

NOTE: I am using satarsa fork because from all the people that have forked the project, his seemed to be the latest, but unfortunately satarsa will not continue on the project.

If you want to discuss things further I'm on cpp slack and the cpp include discord (on #vcpkg channel) All I accomplished was with the help if the good people of the Include cpp discord server.

Cheaterdev commented 3 weeks ago

Hi! It's possible to use library as vcpkg package:

https://github.com/microsoft/vcpkg/compare/master...Cheaterdev:vcpkg:master

Currently it uses my fork of the library, PR here #253

Cheaterdev commented 1 week ago

vcpkg port PR here https://github.com/microsoft/vcpkg/pull/39537