Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add rmlui/3.3 #5122

Merged
merged 10 commits into from
Apr 10, 2021
Merged

Add rmlui/3.3 #5122

merged 10 commits into from
Apr 10, 2021

Conversation

ZombieRaccoon
Copy link
Contributor

Specify library name and version: rmlui/3.3

Any comments on the recipe are much appreciated!

Excerpt from the library's readme.md:
"RmlUi is the C++ user interface package based on the HTML and CSS standards, designed as a complete solution for any project's interface needs. It is a fork of the libRocket project, introducing new features, bug fixes, and performance improvements."

More information on the library itself can be found here: https://github.com/mikke89/RmlUi


  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the
    conan-center hook activated.

@CLAassistant
Copy link

CLAassistant commented Apr 3, 2021

CLA assistant check
All committers have signed the CLA.

@conan-center-bot
Copy link
Collaborator

Sorry, the build is only launched for Early Access Program users. You can request access writing in this issue.

Copy link
Contributor

@prince-chrismc prince-chrismc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I notice there new hooks that were not followed such as fPIC, please update your looks locally and should be easy to fix =)

recipes/rmlui/3.3/conanfile.py Outdated Show resolved Hide resolved
recipes/rmlui/3.3/test_package/CMakeLists.txt Outdated Show resolved Hide resolved
recipes/rmlui/3.3/test_package/conanfile.py Outdated Show resolved Hide resolved
recipes/rmlui/3.3/conanfile.py Outdated Show resolved Hide resolved
recipes/rmlui/3.3/conanfile.py Outdated Show resolved Hide resolved
recipes/rmlui/3.3/conanfile.py Outdated Show resolved Hide resolved
recipes/rmlui/3.3/conanfile.py Outdated Show resolved Hide resolved
@conan-center-bot
Copy link
Collaborator

Sorry, the build is only launched for Early Access Program users. You can request access writing in this issue.

Co-authored-by: Chris Mc <[email protected]>
@conan-center-bot
Copy link
Collaborator

Sorry, the build is only launched for Early Access Program users. You can request access writing in this issue.

@conan-center-bot
Copy link
Collaborator

Sorry, the build is only launched for Early Access Program users. You can request access writing in this issue.

prince-chrismc
prince-chrismc previously approved these changes Apr 5, 2021
Copy link
Contributor

@prince-chrismc prince-chrismc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 🚀

@conan-center-bot
Copy link
Collaborator

Sorry, the build is only launched for Early Access Program users. You can request access writing in this issue.

@ZombieRaccoon
Copy link
Contributor Author

LGTM! 🚀

Thanks for the thorough review!

@conan-center-bot
Copy link
Collaborator

Failure in build 6 (74564cbd54c1d3bff23cfc90cef6fd86039228a7):

  • rmlui/3.3@:
    CI failed to create some packages (All logs)

    Logs for packageID 3c5082afe152f91c84d21a0bf9d94514530caa83:
    [settings]
    arch=x86_64
    arch_build=x86_64
    build_type=Release
    compiler=gcc
    compiler.libcxx=libstdc++
    compiler.version=4.9
    os=Linux
    os_build=Linux
    [options]
    rmlui:shared=False
    
    [ 12%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/DecoratorTiledVertical.cpp.o
    [ 12%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/DecoratorTiledVerticalInstancer.cpp.o
    [ 13%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/DocumentHeader.cpp.o
    [ 14%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/Element.cpp.o
    [ 14%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/ElementAnimation.cpp.o
    [ 15%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/ElementBackground.cpp.o
    [ 15%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/ElementBorder.cpp.o
    [ 16%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/ElementDecoration.cpp.o
    [ 16%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/ElementDefinition.cpp.o
    [ 17%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/ElementDocument.cpp.o
    [ 17%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/ElementHandle.cpp.o
    [ 18%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/ElementImage.cpp.o
    [ 18%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/ElementInstancer.cpp.o
    [ 19%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/ElementScroll.cpp.o
    [ 19%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/ElementStyle.cpp.o
    [ 20%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/ElementText.cpp.o
    [ 20%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/ElementTextDefault.cpp.o
    [ 21%] Building CXX object CMakeFiles/RmlCore.dir/Source/Core/ElementUtilities.cpp.o
    rmlui/3.3: 
    -- Building static libraries. Make sure to #define RMLUI_STATIC_LIB before including RmlUi in your project.
    If you wish to use find_package(RmlUi) in your own project to find RmlUi library please update cmake to version which provides CMakePackageConfighelpers module or write generators for RmlUiConfig.cmake by yourself.
    CMake Warning:
      Manually-specified variables were not used by the project:
    
        CMAKE_EXPORT_NO_PACKAGE_REGISTRY
        CONAN_CMAKE_POSITION_INDEPENDENT_CODE
        CONAN_COMPILER
        CONAN_COMPILER_VERSION
        CONAN_CXX_FLAGS
        CONAN_C_FLAGS
        CONAN_EXPORTED
        CONAN_IN_LOCAL_CACHE
        CONAN_LIBCXX
        CONAN_SHARED_LINKER_FLAGS
    
    
    /home/conan/w/BuildSingleReference/.conan/data/rmlui/3.3/_/_/build/3c5082afe152f91c84d21a0bf9d94514530caa83/source_subfolder/Source/Core/ElementStyle.cpp: In member function 'Rml::Core::PropertiesIterator Rml::Core::ElementStyle::Iterate() const':
    /home/conan/w/BuildSingleReference/.conan/data/rmlui/3.3/_/_/build/3c5082afe152f91c84d21a0bf9d94514530caa83/source_subfolder/Source/Core/ElementStyle.cpp:478:2: error: static assertion failed: C++14 or higher required, see comment.
      static_assert(__cplusplus >= 201402L, "C++14 or higher required, see comment.");
      ^
    make[2]: *** [CMakeFiles/RmlCore.dir/Source/Core/ElementStyle.cpp.o] Error 1
    make[2]: *** Waiting for unfinished jobs....
    make[1]: *** [CMakeFiles/RmlCore.dir/all] Error 2
    make: *** [all] Error 2
    rmlui/3.3: WARN: Build folder is dirty, removing it: /home/conan/w/BuildSingleReference/.conan/data/rmlui/3.3/_/_/build/3c5082afe152f91c84d21a0bf9d94514530caa83
    rmlui/3.3: ERROR: Package '3c5082afe152f91c84d21a0bf9d94514530caa83' build failed
    rmlui/3.3: WARN: Build folder /home/conan/w/BuildSingleReference/.conan/data/rmlui/3.3/_/_/build/3c5082afe152f91c84d21a0bf9d94514530caa83
    ERROR: rmlui/3.3: Error in build() method, line 97
    	self._configure_cmake().build()
    	ConanException: Error 2 while executing cmake --build '/home/conan/w/BuildSingleReference/.conan/data/rmlui/3.3/_/_/build/3c5082afe152f91c84d21a0bf9d94514530caa83' '--' '-j3'
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

recipes/rmlui/3.3/conanfile.py Outdated Show resolved Hide resolved
recipes/rmlui/3.3/conanfile.py Outdated Show resolved Hide resolved
recipes/rmlui/3.3/conanfile.py Outdated Show resolved Hide resolved
recipes/rmlui/3.3/conanfile.py Outdated Show resolved Hide resolved
recipes/rmlui/3.3/conanfile.py Outdated Show resolved Hide resolved
recipes/rmlui/3.3/conanfile.py Outdated Show resolved Hide resolved
@prince-chrismc
Copy link
Contributor

Our usual safe option is with_<feature> to have the least confusion

@madebr
Copy link
Contributor

madebr commented Apr 6, 2021

Our usual safe option is with_<feature> to have the least confusion

Isn't there a difference between a feature and an extra dependency?
e.g. enable_logging vs with_googlelog?

@conan-center-bot
Copy link
Collaborator

Failure in build 7 (743e04519f718766b19748609beb881f94560caf):

  • rmlui/3.3@:
    CI failed to create some packages (All logs)

    Logs for packageID a7642b10cb5f84b6d52a794a3ca16346e68a361b:
    [settings]
    arch=x86_64
    arch_build=x86_64
    build_type=Release
    compiler=Visual Studio
    compiler.runtime=MT
    compiler.version=16
    os=Windows
    os_build=Windows
    [options]
    rmlui:shared=False
    
    LINK : warning LNK4217: symbol 'strncpy' defined in 'libucrt.lib(strncpy.obj)' is imported by 'RmlCore.lib(URL.obj)' in function '"public: bool __cdecl Rml::Core::URL::SetURL(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?SetURL@URL@Core@Rml@@QEAA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)' [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    LINK : warning LNK4217: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'RmlCore.lib(PropertyDefinition.obj)' in function '"void __cdecl robin_hood::detail::doThrow<class std::bad_alloc>(void)" (??$doThrow@Vbad_alloc@std@@$$V@detail@robin_hood@@YAXXZ)' [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'RmlCore.lib(StyleSheetParser.obj)' [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'RmlCore.lib(Memory.obj)' [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    LINK : warning LNK4217: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'RmlCore.lib(FontFaceLayer.obj)' in function '"public: bool __cdecl Rml::Core::FontFaceLayer::Generate(class Rml::Core::FontFaceHandleDefault const *,class Rml::Core::FontFaceLayer const *,bool)" (?Generate@FontFaceLayer@Core@Rml@@QEAA_NPEBVFontFaceHandleDefault@23@PEBV123@_N@Z)' [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    LINK : warning LNK4217: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'RmlCore.lib(URL.obj)' in function '"public: class robin_hood::detail::Table<1,80,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct robin_hood::hash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,struct std::equal_to<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > & __cdecl robin_hood::detail::Table<1,80,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct robin_hood::hash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,struct std::equal_to<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >::operator=(class robin_hood::detail::Table<1,80,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct robin_hood::hash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,struct std::equal_to<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > const &)" (??4?$Table@$00$0FA@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@robin_hood@@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@detail@robin_hood@@QEAAAEAV012@AEBV012@@Z)' [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'RmlCore.lib(Stream.obj)' [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'RmlCore.lib(BaseXMLParser.obj)' [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'RmlCore.lib(StyleSheet.obj)' [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    LINK : warning LNK4217: symbol 'strtol' defined in 'libucrt.lib(strtox.obj)' is imported by 'RmlCore.lib(URL.obj)' in function '"public: static class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl Rml::Core::URL::UrlDecode(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?UrlDecode@URL@Core@Rml@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBV45@@Z)' [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    LINK : warning LNK4217: symbol 'realloc' defined in 'libucrt.lib(realloc.obj)' is imported by 'RmlCore.lib(StreamMemory.obj)' in function '"public: __cdecl Rml::Core::StreamMemory::StreamMemory(void)" (??0StreamMemory@Core@Rml@@QEAA@XZ)' [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    LINK : warning LNK4286: symbol 'realloc' defined in 'libucrt.lib(realloc.obj)' is imported by 'RmlCore.lib(BaseXMLParser.obj)' [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    LINK : warning LNK4217: symbol 'tolower' defined in 'libucrt.lib(tolower_toupper.obj)' is imported by 'RmlCore.lib(XMLParseTools.obj)' in function '"public: static char const * __cdecl Rml::Core::XMLParseTools::FindTag(char const *,char const *,bool)" (?FindTag@XMLParseTools@Core@Rml@@SAPEBDPEBD0_N@Z)' [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(WidgetSlider.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(ElementAnimation.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(ElementStyle.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(StyleSheetParser.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(DecoratorTiledInstancer.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(PropertyDefinition.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(PropertyParserAnimation.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(PropertyParserTransform.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(ComputeProperty.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(FontEffectBlur.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(FontEffectGlow.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(FontEffectOutline.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(FontEffectShadow.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(Element.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(ElementDocument.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(URL.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(DecoratorGradient.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(PropertyParserNumber.obj) : error LNK2019: unresolved external symbol __imp_strtof referenced in function "public: virtual bool __cdecl Rml::Core::PropertyParserNumber::ParseValue(class Rml::Core::Property &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class robin_hood::detail::Table<1,80,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int,struct robin_hood::hash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,struct std::equal_to<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > const &)const " (?ParseValue@PropertyParserNumber@Core@Rml@@UEBA_NAEAVProperty@23@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBV?$Table@$00$0FA@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@HU?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@robin_hood@@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@detail@robin_hood@@@Z) [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(Math.obj) : error LNK2019: unresolved external symbol __imp_roundf referenced in function "float __cdecl Rml::Core::Math::RoundFloat(float)" (?RoundFloat@Math@Core@Rml@@YAMM@Z) [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    RmlCore.lib(Math.obj) : error LNK2019: unresolved external symbol __imp_rand referenced in function "bool __cdecl Rml::Core::Math::RandomBool(void)" (?RandomBool@Math@Core@Rml@@YA_NXZ) [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\bin\example.exe : fatal error LNK1120: 4 unresolved externals [C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019\example.vcxproj]
    CMake Warning:
      Manually-specified variables were not used by the project:
    
        CMAKE_EXPORT_NO_PACKAGE_REGISTRY
        CMAKE_INSTALL_BINDIR
        CMAKE_INSTALL_DATAROOTDIR
        CMAKE_INSTALL_INCLUDEDIR
        CMAKE_INSTALL_LIBDIR
        CMAKE_INSTALL_LIBEXECDIR
        CMAKE_INSTALL_OLDINCLUDEDIR
        CMAKE_INSTALL_SBINDIR
    
    
    ERROR: rmlui/3.3 (test package): Error in build() method, line 13
    	cmake.build()
    	ConanException: Error 1 while executing cmake --build C:\J\w\BuildSingleReference@2\conan-center-index\recipes\rmlui\3.3\test_package\build\eedc9a799c6fb6bf0c8cb7736dbeb16d2214c019 --config Release -- /m:16 /verbosity:minimal
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

@ZombieRaccoon
Copy link
Contributor Author

Our usual safe option is with_<feature> to have the least confusion

Isn't there a difference between a feature and an extra dependency?
e.g. enable_logging vs with_googlelog?

I like this approach!

@conan-center-bot
Copy link
Collaborator

Failure in build 8 (e8c70a838ec9cb613ff86947d2667ab558d9db75):

  • rmlui/3.3@:
    Error running command conan export "recipes/rmlui/3.3/conanfile.py" rmlui/3.3@:
    [HOOK - conan-center.py] pre_export(): [DEPRECATED GLOBAL CPPSTD (KB-H001)] OK
    [HOOK - conan-center.py] pre_export(): [REFERENCE LOWERCASE (KB-H002)] OK
    [HOOK - conan-center.py] pre_export(): [RECIPE METADATA (KB-H003)] OK
    [HOOK - conan-center.py] pre_export(): [HEADER_ONLY, NO COPY SOURCE (KB-H005)] OK
    [HOOK - conan-center.py] pre_export(): [FPIC OPTION (KB-H006)] OK
    [HOOK - conan-center.py] pre_export(): [VERSION RANGES (KB-H008)] OK
    [HOOK - conan-center.py] pre_export(): [RECIPE FOLDER SIZE (KB-H009)] Total recipe size: 5.8779296875 KB
    [HOOK - conan-center.py] pre_export(): [RECIPE FOLDER SIZE (KB-H009)] OK
    [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] exports: None
    [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] exports: None
    [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] OK
    [HOOK - conan-center.py] pre_export(): [TEST PACKAGE FOLDER (KB-H024)] OK
    [HOOK - conan-center.py] pre_export(): [META LINES (KB-H025)] OK
    [HOOK - conan-center.py] pre_export(): [CONAN CENTER INDEX URL (KB-H027)] OK
    [HOOK - conan-center.py] pre_export(): [CMAKE MINIMUM VERSION (KB-H028)] OK
    [HOOK - conan-center.py] pre_export(): [TEST PACKAGE - RUN ENVIRONMENT (KB-H029)] OK
    [HOOK - conan-center.py] pre_export(): [SYSTEM REQUIREMENTS (KB-H032)] OK
    [HOOK - conan-center.py] pre_export(): [CONANDATA.YML FORMAT (KB-H030)] OK
    [HOOK - conan-center.py] pre_export(): [TEST PACKAGE - NO IMPORTS() (KB-H034)] OK
    [HOOK - conan-center.py] pre_export(): [NO AUTHOR (KB-H037)] OK
    [HOOK - conan-center.py] pre_export(): [NO TARGET NAME (KB-H040)] OK
    [HOOK - conan-center.py] pre_export(): [NO FINAL ENDLINE (KB-H041)] OK
    [HOOK - conan-center.py] pre_export(): [NO REQUIRES.ADD() (KB-H044)] OK
    [HOOK - conan-center.py] pre_export(): [DELETE OPTIONS (KB-H045)] OK
    [HOOK - conan-center.py] pre_export(): [NO ASCII CHARACTERS (KB-H047)] OK
    [HOOK - conan-center.py] pre_export(): [CMAKE VERBOSE MAKEFILE (KB-H046)] OK
    [HOOK - conan-center.py] pre_export(): [CMAKE VERSION REQUIRED (KB-H048)] OK
    [HOOK - conan-center.py] pre_export(): [CMAKE WINDOWS EXPORT ALL SYMBOLS (KB-H049)] OK
    [HOOK - conan-center.py] pre_export(): [DEFAULT OPTIONS AS DICTIONARY (KB-H051)] OK
    [HOOK - conan-center.py] pre_export(): [CONFIG.YML HAS NEW VERSION (KB-H052)] OK
    [HOOK - conan-center.py] pre_export(): [SINGLE REQUIRES (KB-H055)] OK
    [HOOK - conan-center.py] pre_export(): ERROR: [PRIVATE IMPORTS (KB-H053)] The file conanfile.py imports private conan API on line 2, this is strongly discouraged. (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H053) 
    [HOOK - conan-center.py] pre_export(): ERROR: [PRIVATE IMPORTS (KB-H053)] from conans.model.version import Version (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H053) 
    ERROR: [HOOK - conan-center.py] pre_export(): Some checks failed running the hook, check the output
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

@conan-center-bot
Copy link
Collaborator

Failure in build 9 (00905e7694c1a8a2b56ac2bdb3cbb8636b2f0e57):

  • rmlui/3.3@:
    CI failed to create some packages (All logs)

    Logs for packageID 23b591a2556793780c336c4ad277354ed2803954:
    [settings]
    arch=x86_64
    arch_build=x86_64
    build_type=Debug
    compiler=Visual Studio
    compiler.runtime=MTd
    compiler.version=14
    os=Windows
    os_build=Windows
    [options]
    rmlui:shared=False
    
    [env]
    
    rmlui/3.3: Forced build from source
    Installing package: rmlui/3.3
    Requirements
        bzip2/1.0.8 from 'conan-center' - Cache
        freetype/2.10.1 from 'conan-center' - Cache
        libpng/1.6.37 from 'conan-center' - Cache
        rmlui/3.3 from local cache - Cache
        zlib/1.2.11 from 'conan-center' - Cache
    Packages
        bzip2/1.0.8:b553e9981f9078ff331b4fd4c3b7f9c44a5514ff - Cache
        freetype/2.10.1:d7c86fa08e6e67bd891ac6f8253336c8f6806547 - Cache
        libpng/1.6.37:867ca54360ed234a8bc9a6aa63806599ea29b38e - Cache
        rmlui/3.3:23b591a2556793780c336c4ad277354ed2803954 - Build
        zlib/1.2.11:f27dcd2d5e453cb01f9324a959461903ce8116a0 - Cache
    
    Installing (downloading, building) binaries...
    bzip2/1.0.8: Already installed!
    bzip2/1.0.8: Appending PATH environment variable: C:\J\w\BuildSingleReference@3\.conan\data\bzip2\1.0.8\_\_\package\b553e9981f9078ff331b4fd4c3b7f9c44a5514ff\bin
    [HOOK - conan-center.py] post_package_info(): [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] OK
    [HOOK - conan-center.py] post_package_info(): [LIBRARY DOES NOT EXIST (KB-H054)] OK
    zlib/1.2.11: Already installed!
    [HOOK - conan-center.py] post_package_info(): [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] OK
    [HOOK - conan-center.py] post_package_info(): [LIBRARY DOES NOT EXIST (KB-H054)] OK
    libpng/1.6.37: Already installed!
    [HOOK - conan-center.py] post_package_info(): [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] OK
    [HOOK - conan-center.py] post_package_info(): [LIBRARY DOES NOT EXIST (KB-H054)] OK
    freetype/2.10.1: Already installed!
    [HOOK - conan-center.py] post_package_info(): [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] OK
    [HOOK - conan-center.py] post_package_info(): [LIBRARY DOES NOT EXIST (KB-H054)] OK
    rmlui/3.3: Copying sources to build folder
    rmlui/3.3: Building your package in C:\J\w\BuildSingleReference@3\.conan\data\rmlui\3.3\_\_\build\23b591a2556793780c336c4ad277354ed2803954
    rmlui/3.3: Generator cmake created conanbuildinfo.cmake
    rmlui/3.3: Generator cmake_find_package created FindFreetype.cmake
    rmlui/3.3: Generator cmake_find_package created FindPNG.cmake
    rmlui/3.3: Generator cmake_find_package created FindBZip2.cmake
    rmlui/3.3: Generator cmake_find_package created FindZLIB.cmake
    [HOOK - conan-center.py] pre_build(): [FPIC MANAGEMENT (KB-H007)] 'fPIC' option not found
    [HOOK - conan-center.py] pre_build(): [FPIC MANAGEMENT (KB-H007)] OK
    rmlui/3.3: Calling build()
    rmlui/3.3: 
    rmlui/3.3: WARN: Build folder is dirty, removing it: C:\J\w\BuildSingleReference@3\.conan\data\rmlui\3.3\_\_\build\23b591a2556793780c336c4ad277354ed2803954
    rmlui/3.3: ERROR: Package '23b591a2556793780c336c4ad277354ed2803954' build failed
    rmlui/3.3: WARN: Build folder C:\J\w\BuildSingleReference@3\.conan\data\rmlui\3.3\_\_\build\23b591a2556793780c336c4ad277354ed2803954
    ERROR: rmlui/3.3: Error in build() method, line 108
    	self._configure_cmake().build()
    while calling '_configure_cmake', line 68
    	cmake_version = tools.Version(cmake_version_output.getvalue().split('\n', 1)[0].rsplit(' ', 1)[-1])
    	ConanException: Invalid version ''
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

@conan-center-bot
Copy link
Collaborator

Failure in build 10 (a59468f7ce82f33d1b016b9dcc2a1428ac3032c3):

  • rmlui/3.3@:
    CI failed to create some packages (All logs)

    Logs for packageID 07fc217c17b846bb2be266e2b5f7379b18269f10:
    [settings]
    arch=x86_64
    arch_build=x86_64
    build_type=Release
    compiler=Visual Studio
    compiler.runtime=MT
    compiler.version=14
    os=Windows
    os_build=Windows
    [options]
    rmlui:shared=False
    
              [
                  _Ty=Rml::Core::FontEngineInterface
              ]
      ElementDefinition.cpp
      ElementDocument.cpp
      C:\J\w\BuildSingleReference@5\.conan\data\rmlui\3.3\_\_\build\07fc217c17b846bb2be266e2b5f7379b18269f10\source_subfolder\Source\Core\Core.cpp(67): note: see reference to class template instantiation 'std::unique_ptr<Rml::Core::FileInterface,std::default_delete<_Ty>>' being compiled
              with
              [
                  _Ty=Rml::Core::FileInterface
              ]
      ElementHandle.cpp
      ElementImage.cpp
      ElementInstancer.cpp
      ElementScroll.cpp
      ElementStyle.cpp
      ElementText.cpp
      ElementTextDefault.cpp
      ElementUtilities.cpp
      Event.cpp
    C:\J\w\BuildSingleReference@5\.conan\data\rmlui\3.3\_\_\build\07fc217c17b846bb2be266e2b5f7379b18269f10\source_subfolder\Source\Core\ElementStyle.cpp(139): fatal error C1001: An internal error has occurred in the compiler. [C:\J\w\BuildSingleReference@5\.conan\data\rmlui\3.3\_\_\build\07fc217c17b846bb2be266e2b5f7379b18269f10\source_subfolder\RmlCore.vcxproj]
      (compiler file 'msc1.cpp', line 1468)
       To work around this problem, try simplifying or changing the program near the locations listed above.
      Please choose the Technical Support command on the Visual C++ 
       Help menu, or open the Technical Support help file for more information
      EventDispatcher.cpp
      Internal Compiler Error in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\CL.exe.  You will be prompted to send an error report to Microsoft later.
      INTERNAL COMPILER ERROR in 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\CL.exe'
          Please choose the Technical Support command on the Visual C++
          Help menu, or open the Technical Support help file for more information
      EventInstancer.cpp
      EventInstancerDefault.cpp
    cl : Command line error D8040: error creating or communicating with child process [C:\J\w\BuildSingleReference@5\.conan\data\rmlui\3.3\_\_\build\07fc217c17b846bb2be266e2b5f7379b18269f10\source_subfolder\RmlCore.vcxproj]
    rmlui/3.3: 
    cmake/3.20.0: WARN: Lib folder doesn't exist, can't collect libraries: C:\J\w\BuildSingleReference@5\.conan\data\cmake\3.20.0\_\_\package\0a420ff5c47119e668867cdb51baff0eca1fdb68\lib
    [HOOK - conan-center.py] post_package_info(): WARN: [LIBRARY DOES NOT EXIST (KB-H054)] Component cmake::cmake libdir "lib" does not contain any library
    [HOOK - conan-center.py] post_package_info(): WARN: [LIBRARY DOES NOT EXIST (KB-H054)] Component cmake::cmake libdir "lib" does not contain any declared library
    rmlui/3.3: WARN: Build folder is dirty, removing it: C:\J\w\BuildSingleReference@5\.conan\data\rmlui\3.3\_\_\build\07fc217c17b846bb2be266e2b5f7379b18269f10
    -- Building static libraries. Make sure to #define RMLUI_STATIC_LIB before including RmlUi in your project.
    If you wish to use find_package(RmlUi) in your own project to find RmlUi library please update cmake to version which provides CMakePackageConfighelpers module or write generators for RmlUiConfig.cmake by yourself.
    CMake Warning:
      Manually-specified variables were not used by the project:
    
        CMAKE_EXPORT_NO_PACKAGE_REGISTRY
    
    
    rmlui/3.3: ERROR: Package '07fc217c17b846bb2be266e2b5f7379b18269f10' build failed
    rmlui/3.3: WARN: Build folder C:\J\w\BuildSingleReference@5\.conan\data\rmlui\3.3\_\_\build\07fc217c17b846bb2be266e2b5f7379b18269f10
    ERROR: rmlui/3.3: Error in build() method, line 103
    	self._configure_cmake().build()
    	ConanException: Error 1 while executing cmake --build C:\J\w\BuildSingleReference@5\.conan\data\rmlui\3.3\_\_\build\07fc217c17b846bb2be266e2b5f7379b18269f10 --config Release -- /m:16 /verbosity:minimal
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

@conan-center-bot
Copy link
Collaborator

All green in build 11 (35413853a875a885d141aefc98961958ce0f2e1d):

  • rmlui/3.3@:
    All packages built successfully! (All logs)

@ZombieRaccoon
Copy link
Contributor Author

@madebr @prince-chrismc I think the recipe has come out looking pretty slick, so thanks for all the suggestions! :-)

self._cmake.definitions["BUILD_LUA_BINDINGS"] = self.options.with_lua_bindings
self._cmake.definitions["BUILD_SAMPLES"] = False
self._cmake.definitions["DISABLE_RTTI_AND_EXCEPTIONS"] = not self.options.enable_rtti_and_exceptions
self._cmake.definitions["ENABLE_PRECOMPILED_HEADERS"] = True
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only thing I'm left wondering about is whether it is worth to require cmake for building with precompiled headers.
The only benefit precompiled headers have is potential faster compile times. The resulting binary should not differ.

Is it worth it for rmlui?

Copy link
Contributor Author

@ZombieRaccoon ZombieRaccoon Apr 7, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well.. the answer to that would depend largely on the build environment. Therefore, I checked the build logs to see what happens and noted that each build seems to start off with a clean slate as far as cached packages are concerned.

With this in mind, I made some measurements locally using MSVC, to be able to provide a rough estimate as to the improvement in build time. I used the following commands to build packages and measured until after the test had concluded:

conan remove cmake -f
conan create . 3.3@te/st
attempt with pch without pch
1 1:59 2:45
2 2:04 2:31

Based on the above, I'd assume that using precompiled headers would save the build system serving conan-center-index valuable time in case of other compilers as well. Since improvement in build time should be considered a positive outcome in my opinion, I would conclude that it's indeed worth it - unless I'm missing something that would also play a factor in the current context.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the benchmark!.
A >25% performance increase is indeed impressive.
Though, it should be noted that this cost is only paid once (on the cci servers) or when somebody is building the package themselve.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it should be noted that this cost is only paid once

It's fairly rare that consumers actually build the library... even more rare they build twice... (whole point of Conan is it manages the binaries for you)

For that reason we've avoided these types of things because they were complicated to manage for CCI ... but it's only two lines.

We'll see if the Conan team has any objectives.

@SSE4 SSE4 requested a review from uilianries April 10, 2021 08:09
@conan-center-bot conan-center-bot merged commit 99b933b into conan-io:master Apr 10, 2021
AlvaroFS pushed a commit to AlvaroFS/conan-center-index that referenced this pull request May 7, 2021
* Implement the initial version of the recipe

* Update license to MIT instead of direct link

Co-authored-by: Chris Mc <[email protected]>

* Update the test recipe

Co-authored-by: Chris Mc <[email protected]>

* Make improvements based on review comments

* Remove the option to build samples

* Set the C++ standard of the test package

Co-authored-by: Chris Mc <[email protected]>

* Rework the options

* Make improvements based on the reviews

* Make a certain version CMake a build requirement

* Check compiler-eligibility the right way

Co-authored-by: ZombieRaccoon <[email protected]>
Co-authored-by: Chris Mc <[email protected]>
@ZombieRaccoon ZombieRaccoon deleted the package/rmlui branch June 24, 2021 05:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants