| … | … | @@ -2,11 +2,11 @@ |
| 2 | 2 | # Detect different compilers and OS'es, tweak flags as necessary. |
| 3 | 3 | |
| 4 | 4 | IF (CMAKE_COMPILER_IS_GNUCXX) |
| 5 | | # Version 7.0 of gcc is required for full C++17 support. |
| 5 | # Version 11.0 of gcc is required for full C++20 support. |
| 6 | 6 | |
| 7 | | IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0) |
| 8 | | MESSAGE(FATAL_ERROR "GCC version must be at least 7.0!") |
| 9 | | ENDIF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0) |
| 7 | IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0) |
| 8 | MESSAGE(FATAL_ERROR "GCC version must be at least 11.0!") |
| 9 | ENDIF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0) |
| 10 | 10 | |
| 11 | 11 | IF (APPLE) |
| 12 | 12 | CMAKE_POLICY(SET CMP0042 NEW) # Something about MACOSX_RPATH |
| … | … | @@ -53,8 +53,8 @@ IF (CMAKE_COMPILER_IS_GNUCXX) |
| 53 | 53 | # |
| 54 | 54 | # 2) -fopenmp for multithreading support |
| 55 | 55 | # |
| 56 | | # 3) -std=gnu++17 for C++17 and GNU extensions support |
| 57 | | SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -Wno-variadic-macros -fopenmp -std=gnu++17") |
| 56 | # 3) -std=gnu++20 for C++20 and GNU extensions support |
| 57 | SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -Wno-variadic-macros -fopenmp -std=gnu++20") |
| 58 | 58 | |
| 59 | 59 | SET(CMAKE_CXX_FLAGS_ASAN ${CMAKE_C_FLAGS_ASAN}) |
| 60 | 60 | SET(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) |
| … | … | @@ -78,8 +78,8 @@ IF (CMAKE_CXX_COMPILER_ID MATCHES "Clang") |
| 78 | 78 | SET(CMAKE_SHARED_LINKER_FLAGS "-undefined dynamic_lookup") |
| 79 | 79 | SET(CMAKE_EXE_LINKER_FLAGS "-lstdc++") |
| 80 | 80 | # Refer to this page https://clang.llvm.org/docs/OpenMPSupport.html to see which version of OpenMP Clang supports. |
| 81 | | # SET(CMAKE_CXX_FLAGS "-std=c++17 -fopenmp") |
| 81 | # SET(CMAKE_CXX_FLAGS "-std=c++20 -fopenmp") |
| 82 | 82 | # Apparently, most versions of clang do not support OpenMP. |
| 83 | 83 | # So disable, by default; MOSES users will need to hack this. |
| 84 | | SET(CMAKE_CXX_FLAGS "-std=c++17") |
| 84 | SET(CMAKE_CXX_FLAGS "-std=c++20") |
| 85 | 85 | ENDIF (CMAKE_CXX_COMPILER_ID MATCHES "Clang") |