blob: 3d3d59bb01661011d7e731ebef495706022d1fb4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
From b44ecdcbfdf4ee1eca2fdb431dfb7dfd63cc8b1f Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Tue, 21 Jan 2025 21:37:28 +0100
Subject: [PATCH] CMake: Cleanup CompilerSettings.cmake
>C++11 is a given, so don't tie down to now old standard;
fixes build w/ boost-1.87
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
---
build_files/Modules/CompilerSettings.cmake | 49 ++++------------------
1 file changed, 8 insertions(+), 41 deletions(-)
diff --git a/build_files/Modules/CompilerSettings.cmake b/build_files/Modules/CompilerSettings.cmake
index 76dbc219..5e25a718 100644
--- a/build_files/Modules/CompilerSettings.cmake
+++ b/build_files/Modules/CompilerSettings.cmake
@@ -9,53 +9,20 @@ ADD_DEFINITIONS(-march=core2)
ENDIF()
ENDIF()
-#Activate C++11 support, when available
-if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
- add_definitions(-DBRANCH_PREDICTION)
- execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
- if (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
- message(STATUS "C++11 activated for GCC ${GCC_VERSION}")
- set(CMAKE_CXX_STANDARD 11)
- add_definitions(-DLHDR_CXX11_ENABLED)
- elseif(GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
- message(WARNING "C++0x activated for GCC ${GCC_VERSION}. If you get any errors update to a compiler that fully supports C++11")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x") # add_definitions("-std=gnu++0x")
- add_definitions(-DLHDR_CXX11_ENABLED)
- else()
- message(WARNING "C++11 NOT available. GCC >= 4.3 is needed.")
- endif()
-elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
- message(STATUS "C++11 activated for Clang")
- set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD 20)
+add_definitions(-DLHDR_CXX11_ENABLED)
+add_definitions(-DBRANCH_PREDICTION)
+if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
if (APPLE)
set(CMAKE_EXE_LINKER_FLAGS "-lc++abi -stdlib=libc++ -rpath @loader_path/../Frameworks/")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
endif()
- add_definitions(-DLHDR_CXX11_ENABLED)
- add_definitions(-DBRANCH_PREDICTION)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnull-dereference -Wdelete-non-virtual-dtor -Wsign-compare -Wswitch")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wreturn-type -Wself-assign -Wunused-argument -Wunused-function -Wtautological-compare")
- #OpenMP support under Linux with clang
- if (UNIX)
- FIND_PACKAGE(OpenMP REQUIRED)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
- endif()
-elseif(MSVC)
- message(STATUS "C++11 is active by default on Microsoft Visual Studio")
- add_definitions(-DLHDR_CXX11_ENABLED)
-else()
- message(WARNING "Your C++ compiler does not support C++11.")
endif()
-#OpenMP Support under Linux, Windows with MSVC & MacOS X with GCC >= 4.3
-IF(MSVC)
- FIND_PACKAGE(OpenMP REQUIRED)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
-ELSEIF(CMAKE_COMPILER_IS_GNUCC AND UNIX)
- EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
- IF(GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
- MESSAGE(STATUS "GCC >= 4.3")
+
+OPTION(USE_OPENMP "Use openmp threading support." ON)
+IF(USE_OPENMP)
+ IF(MSVC OR UNIX)
FIND_PACKAGE(OpenMP REQUIRED)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
--
2.45.3
|