CxxDialect SYCL Fixups
Remove self.<lang>dialect
as it is confusingly set in favor of adding a 'propogateToPackages' member to the cxxDialectRange attribute.
Thus any packages looking to query a compilers capability should do the following:
language = 'sycl' # language is not case-sensitive
languageDialect = self.compilers.cxxDialectRange[language]
maxLanguageDialect = languageDialect.max # e.g. 'C++14'
if maxLanguageDialect[-2:] < '17':
# handle this
If self.compilers.cxxDialectRange[language].propagateToPackages
is True
then all packages should ensure the use of the max flag, and raise an error if they are unable to.
We now also set CMAKE_CXX_STANDARD
for all CMake packages unless the user specifically requests no flag at all. Previously we would not set it if we auto-detected the flag.
TODO:
-
Document that packages should include a self.minCxxVersion
orself.maxCxxVersion
in their__init__()
rather than try and detect this themselves. -
Possibly remove the langauge specific dialect checks