Add conflict between cxxstd > 17 and cuda < 12 in pika (#40717)
* Add conflict with C++ standard > 17 and cuda < 12 * Removing map_cxxstd since boost supports C++20 flag
This commit is contained in:
parent
751b64cbcd
commit
53d5011192
@ -42,7 +42,6 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
|
|
||||||
generator("ninja")
|
generator("ninja")
|
||||||
|
|
||||||
map_cxxstd = lambda cxxstd: "2a" if cxxstd == "20" else cxxstd
|
|
||||||
cxxstds = ("17", "20", "23")
|
cxxstds = ("17", "20", "23")
|
||||||
variant(
|
variant(
|
||||||
"cxxstd",
|
"cxxstd",
|
||||||
@ -91,6 +90,9 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
conflicts("%clang@:8", when="@0.2:")
|
conflicts("%clang@:8", when="@0.2:")
|
||||||
conflicts("+stdexec", when="cxxstd=17")
|
conflicts("+stdexec", when="cxxstd=17")
|
||||||
conflicts("cxxstd=23", when="^cmake@:3.20.2")
|
conflicts("cxxstd=23", when="^cmake@:3.20.2")
|
||||||
|
# CUDA version <= 11 does not support C++20 and newer
|
||||||
|
for cxxstd in filter(lambda x: x != "17", cxxstds):
|
||||||
|
conflicts(f"cxxstd={cxxstd}", when="^cuda@:11")
|
||||||
|
|
||||||
# Other dependencies
|
# Other dependencies
|
||||||
depends_on("boost@1.71:")
|
depends_on("boost@1.71:")
|
||||||
@ -139,7 +141,7 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
)
|
)
|
||||||
|
|
||||||
for cxxstd in cxxstds:
|
for cxxstd in cxxstds:
|
||||||
depends_on("boost cxxstd={0}".format(map_cxxstd(cxxstd)), when="cxxstd={0}".format(cxxstd))
|
depends_on("boost cxxstd={0}".format(cxxstd), when="cxxstd={0}".format(cxxstd))
|
||||||
depends_on("fmt cxxstd={0}".format(cxxstd), when="@0.11: cxxstd={0}".format(cxxstd))
|
depends_on("fmt cxxstd={0}".format(cxxstd), when="@0.11: cxxstd={0}".format(cxxstd))
|
||||||
|
|
||||||
# COROUTINES
|
# COROUTINES
|
||||||
|
Loading…
Reference in New Issue
Block a user