RosettaCommons / rosetta

The Rosetta Bio-macromolecule modeling package.
https://www.rosettacommons.org
Other
154 stars 63 forks source link

Add ability to specify compiler version ranges in scons settings. #36

Closed roccomoretti closed 6 months ago

roccomoretti commented 7 months ago

The basic.settings file has had a limitation for a long while where any version-specific settings are tied to an exact version. That is, settings for gcc 9.0 can't also apply to 10.0 (or even 9.1). This makes things difficult when a potential range of different compilers need to be dealt with in the same fashion, especially in a forward-compatible way. (e.g. the lack of -ffor-scope on any GCC newer than 9.0, including ones not yet released)

An adjustment to one of the build files allows us to use a pattern matching specification to add parameter blocks for ranges of compilers (e.g. cxx_ver:>9.0 for any compiler version greater than 9.0, or cxx_ver:>=5.2,<7.0 for compiler versions between 5.2 (inclusive) and 7.0 (exclusive).)

Should address issue #29 and #28

lyskov commented 7 months ago

@roccomoretti i also updated Benchmark and added GCC-13 support (unit, debug and release tests) - hope this helps!