question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[question] How to handle the Standard version requirement in recipes?

See original GitHub issue

Recipes should handle problems of incompatible standard version flags gracefully and raise ConanInvalidConfiguration appropriately.

Issue Analytics

  • State:open
  • Created 4 years ago
  • Reactions:2
  • Comments:7 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
lasotecommented, Sep 17, 2019

We could follow 2 approaches, not necessarily incompatible:

  • We would need probably a tool that report the applied compiler.cppstd setting taking into account that the input could be None and the applied one is the default from the applied compiler. That way we could raise if the minimum is not satisfied and the conan-index CI service will automatically skip the profiles with the compiler without a compiler that supports the minimum cppstd. But if the library only supports >=17 we might have an issue if we don’t explicitly apply a profile with the cppstd.

  • We could always add something to the config.yml file to indicate the cppstd value (vaues? which ones?) to apply for that version.

0reactions
Minimoniumcommented, Feb 13, 2020

Okay, I think now I get it how we should do.

The thing with cppstd is that we really need to consider the case when it’s not specified to be the case of using the default standard version of the current compiler. The reason for that is because while standard libraries don’t usually break ABI, projects are free to do it between different versions. For example to conditionally use std::string_view is the standard version is allowed. On the other hand, projects that are compatible with older standard versions should probably delete the setting in the package_id.

All it means that indeed if a project requires a >=17 than we need to handle it in CCI builds. How can we achieve it?

About the algorithm to handle the package configuration:

  • We check the minimal standard version required with the check_min_cppstd. We need to handle if the tool doesn’t know about the current compiler, it could be a customer provided one.
  • We check the minimal compiler version supported. The standard version support is a very fluid thing, can’t rely just on that.
  • We need to warn if we lack information about any of these.

We can nicely wrap it into an additional tool.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Chapter 6 – Standardized Recipes
Standardized recipes are an important control tool for food service ... Obtain the conversion factor by dividing the required yield (from Step 2)...
Read more >
6. Converting and Adjusting Recipes and Formulas
Determine the required yield of the recipe by multiplying the new number of portions and the new size of each portion. Find the...
Read more >
What Is A Standardized Recipe? - YouTube
Describes why and when standardized recipes are needed in the Child and Adult Care Food Program (CACFP) and the required components of ...
Read more >
Types of Recipe Construction
The method follows in paragraphs or steps. Especially good form for recipes using many ingredients. +Easy to see ingredients needed; -Must look back...
Read more >
Quiz #2 Flashcards - Quizlet
Recipe standardization is important because the operation needs to have menu items that are consistent and will please the guest every time he...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found