os-fpga / FOEDAG

Framework Open EDA Gui
https://foedag.readthedocs.io
Other
60 stars 30 forks source link

Is C++17 O.K. as the minimum requirement #21

Closed tangxifan closed 3 years ago

tangxifan commented 3 years ago

Describe the bug A clear and concise description of what the bug is.

The CMakefile requires C++17 standard as the minimum requirement

https://github.com/os-fpga/FOEDAG/blob/fa4af5c5960169f613ad3d63c6120b319dbcf918/CMakeLists.txt#L27-L28

I do not know if this will cause some incompatibility for any libraries.

OpenFPGA is complying with C+14, so is VPR:

https://github.com/verilog-to-routing/vtr-verilog-to-routing/blob/5409e84341dde0292951c273ffc3b5c2065a2fec/CMakeLists.txt#L90

Expected behavior May need a discussion to see if the C++17 will cause any issues

tangxifan commented 3 years ago

@MidsummerNight @alaindargelas

alaindargelas commented 3 years ago

Yes, C17 allows to write more portable code across platforms. C+14 does not have proper filesystem support for Windows, C17 allows to write all file system function agnostic of OS. This will not cause issues with subsystems like VPR.

MidsummerNight commented 3 years ago

I think as long our GUI is sufficiently seperated from OpenFPGA and VPR (like chess engines and graphical chessboard frontends) then the discrepancy shouldn't matter, and C++ 17 is a better choice. @liibin what do you think?

liibinn commented 3 years ago

I think there is no problem using the C++17 standard. Whether GCC 9 or later is required to support the new features of C++17.

tangxifan commented 3 years ago

Great. Since everyone is on the same page. I have also added dependency requirements to online documentation.

https://foedag.readthedocs.io/en/latest/tutorials/getting_started/dependencies/

image

This issue is resolved.