-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
openmp/system: new recipe #22360
base: master
Are you sure you want to change the base?
openmp/system: new recipe #22360
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Conan v1 pipeline ✔️All green in build 11 (
Conan v2 pipeline ✔️
All green in build 11 (
|
Why not just use the llvm-openmp recipe, ignore the wrapping, and append the openmp argument in downstream recipes? Edit: Adding yet another openmp to conan is not ideal. I recommend recipes add the argument, rather than bloating the ecosystem @jcar87 @planetmarshall @memsharded |
Recall that it is also possible to inject compiler flags with |
@memsharded I do recall that, but the proposed |
I would explicitly define requirements in packages, rather than wrapping them, which is a workaround. I wouldn't expect force-enabling openmp, rather, it would be an option- for all recipes that might support it. |
Adds a new
openmp/system
package for a much more convenient and less bug-prone OpenMP support in recipes.This avoids the need for listing the appropriate flags in every recipe using OpenMP, e.g. https://github.com/conan-io/conan-center-index/blob/master/recipes/lightgbm/all/conanfile.py#L123-L133
It relies on the default OpenMP provided by the compiler for compilers that ship with one (GCC and MSVC) and falls back to
llvm-openmp
from CCI for others (Clang and AppleClang).transitive_headers=True, transitive_libs=True
can be used to set the correct visibility for libraries that use#pragma omp
in their public headers.See #24577 for more context.
Requires
llvm-openmp: match FindOpenMP.cmake output, add MSVC support #22353FindOpenMP
, add v18.1.8, simplify patches, add MSVC support #24584