1
+
2
+ if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0" )
3
+ cmake_policy (SET CMP0135 NEW )
4
+ cmake_policy (SET CMP0077 NEW )
5
+ endif ()
6
+
7
+ #
8
+ # initialisation
9
+ #
10
+
11
+ message (STATUS "--------------------------------------------" )
12
+ message (STATUS "--------------------------------------------" )
13
+ message (STATUS "--------------------------------------------" )
14
+ message (STATUS "ONNX_EXTENDED_VERSION=${ONNX_EXTENDED_VERSION} " )
15
+ message (STATUS "CMAKE_VERSION=${CMAKE_VERSION} " )
16
+ message (STATUS "CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} " )
17
+ message (STATUS "CMAKE_C_COMPILER_VERSION=${CMAKE_C_COMPILER_VERSION} " )
18
+ message (STATUS "CMAKE_CXX_COMPILER_VERSION=${CMAKE_CXX_COMPILER_VERSION} " )
19
+ message (STATUS "USE_SETUP_PYTHON=${USE_SETUP_PYTHON} " )
20
+ message (STATUS "USE_PYTHON_SETUP=${USE_PYTHON_SETUP} " )
21
+ message (STATUS "PYTHON_VERSION=${PYTHON_VERSION} " )
22
+ message (STATUS "PYTHON_VERSION_MM=${PYTHON_VERSION_MM} " )
23
+ message (STATUS "PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} " )
24
+ message (STATUS "PYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR} " )
25
+ message (STATUS "PYTHON_LIBRARY=${PYTHON_LIBRARY} " )
26
+ message (STATUS "PYTHON_LIBRARY_DIR=${PYTHON_LIBRARY_DIR} " )
27
+ message (STATUS "PYTHON_NUMPY_INCLUDE_DIR=${PYTHON_NUMPY_INCLUDE_DIR} " )
28
+ message (STATUS "PYTHON_MODULE_EXTENSION=${PYTHON_MODULE_EXTENSION} " )
29
+ message (STATUS "PYTHON_NUMPY_VERSION=${PYTHON_NUMPY_VERSION} " )
30
+ message (STATUS "USE_CUDA=${USE_CUDA} " )
31
+ message (STATUS "CUDA_BUILD=${CUDA_BUILD} " )
32
+ message (STATUS "CUDA_LINK=${CUDA_LINK} " )
33
+ message (STATUS "USE_NVTX=${USE_NVTX} " )
34
+ message (STATUS "ORT_VERSION=${ORT_VERSION} " )
35
+ message (STATUS "PYTHON_MANYLINUX=${PYTHON_MANYLINUX} " )
36
+ message (STATUS "SETUP_BUILD_PATH=${SETUP_BUILD_PATH} " )
37
+ message (STATUS "SETUP_BUILD_LIB=${SETUP_BUILD_LIB} " )
38
+ message (STATUS "--------------------------------------------" )
39
+ message (STATUS "--------------------------------------------" )
40
+ message (STATUS "--------------------------------------------" )
41
+
1
42
#
2
43
# python extension
3
44
#
@@ -9,21 +50,86 @@ else()
9
50
set (DLLEXT "so" )
10
51
endif ()
11
52
53
+ if (NOT CMAKE_BUILD_TYPE )
54
+ set (CMAKE_BUILD_TYPE Release )
55
+ endif ()
56
+ set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g" )
57
+ set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3" ) # -DNDEBUG
58
+
59
+ set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g" )
60
+ set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3" ) # -DNDEBUG
61
+
12
62
#
13
- # C++ 14 or C++ 17
63
+ # C++ 14 or C++ 17 or...
14
64
#
15
- if (MSVC )
16
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17" )
65
+ if (PYTHON_MANYLINUX EQUAL "1" )
66
+ set (CMAKE_CXX_STANDARD_REQUIRED ON )
67
+ set (CMAKE_CXX_EXTENSIONS OFF )
68
+ set (CMAKE_CXX_STANDARD 17 )
69
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Wextra" )
70
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unknown-pragmas -Wextra" )
71
+ if (APPLE )
72
+ set (CMAKE_OSX_DEPLOYMENT_TARGET "10.15" )
73
+ elseif (MSVC )
74
+ # nothing
75
+ else ()
76
+ execute_process (
77
+ COMMAND ldd --version | grep "ldd (.*)"
78
+ OUTPUT_VARIABLE ldd_version_output
79
+ ERROR_VARIABLE ldd_version_error
80
+ RESULT_VARIABLE ldd_version_result )
81
+ endif ()
17
82
else ()
18
- if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "11" )
19
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17" )
83
+ if (MSVC )
84
+ # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17")
85
+ set (CMAKE_CXX_STANDARD 17 )
86
+ elseif (APPLE )
87
+ set (CMAKE_OSX_DEPLOYMENT_TARGET "10.15" )
88
+ # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
89
+ set (CMAKE_CXX_STANDARD 17 )
90
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Wextra" )
91
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unknown-pragmas -Wextra" )
20
92
else ()
21
- if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "6" )
22
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14" )
93
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Wextra" )
94
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unknown-pragmas -Wextra" )
95
+ if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "15" )
96
+ # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++23")
97
+ set (CMAKE_CXX_STANDARD 23 )
98
+ elseif (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "11" )
99
+ # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20")
100
+ set (CMAKE_CXX_STANDARD 20 )
101
+ elseif (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "9" )
102
+ # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
103
+ set (CMAKE_CXX_STANDARD 17 )
104
+ elseif (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "6" )
105
+ # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
106
+ set (CMAKE_CXX_STANDARD 14 )
23
107
else ()
24
108
message (FATAL_ERROR "gcc>=6.0 is needed but "
25
109
"${CMAKE_C_COMPILER_VERSION} was detected." )
26
110
endif ()
111
+ # needed to build many linux build
112
+ # set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lm")
113
+ # set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -lm")
114
+
115
+ execute_process (
116
+ COMMAND ldd --version | grep "ldd (.*)"
117
+ OUTPUT_VARIABLE ldd_version_output
118
+ ERROR_VARIABLE ldd_version_error
119
+ RESULT_VARIABLE ldd_version_result )
120
+ endif ()
121
+ endif ()
122
+
123
+ # Disable fast-math for Intel oneAPI compiler
124
+ if ("${CMAKE_CXX_COMPILER_ID} " MATCHES "IntelLLVM" )
125
+ if ("${CMAKE_CXX_COMPILER_ID} " MATCHES "MSVC-like" )
126
+ # Using icx-cl compiler driver with MSVC-like arguments
127
+ message (STATUS "IntelLLVM + MSVC-like" )
128
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fp:precise" )
129
+ else ()
130
+ # Using icpx compiler driver
131
+ message (STATUS "IntelLLVM + no MSVC" )
132
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-fast-math" )
27
133
endif ()
28
134
endif ()
29
135
@@ -55,9 +161,31 @@ if(APPLE)
55
161
set (ENV (CPPFLAGS ) "-I/usr/local/opt/llvm/include" )
56
162
endif ()
57
163
58
- message (STATUS "--------------------------------------------" )
164
+ message (STATUS "**********************************" )
165
+ message (STATUS "**********************************" )
166
+ message (STATUS "**********************************" )
167
+ message (STATUS "GLIBC_VERSION=${ldd_version_output} " )
168
+ message (STATUS "CMAKE_C_COMPILER=${CMAKE_C_COMPILER} " )
169
+ message (STATUS "CMAKE_C_FLAGS_INIT=${CMAKE_C_FLAGS_INIT} " )
170
+ message (STATUS "CMAKE_C_FLAGS=${CMAKE_C_FLAGS} " )
171
+ message (STATUS "CMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE} " )
172
+ message (STATUS "CMAKE_C_COMPILER_VERSION=${CMAKE_C_COMPILER_VERSION} " )
173
+ message (STATUS "CMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} " )
174
+ message (STATUS "CMAKE_CXX_FLAGS_INIT=${CMAKE_CXX_FLAGS_INIT} " )
59
175
message (STATUS "CMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} " )
176
+ message (STATUS "CMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} " )
177
+ message (STATUS "CMAKE_CXX_COMPILER_ID=${CMAKE_CXX_COMPILER_ID} " )
178
+ message (STATUS "CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} " )
179
+ message (STATUS "CMAKE_CXX_STANDARD_REQUIRED=${CMAKE_CXX_STANDARD_REQUIRED} " )
180
+ message (STATUS "CMAKE_CXX_EXTENSIONS=${CMAKE_CXX_EXTENSIONS} " )
181
+ message (STATUS "CMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS} " )
182
+ message (STATUS "CMAKE_LINKER=${CMAKE_LINKER} " )
183
+ message (STATUS "CMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS} " )
60
184
message (STATUS "LDFLAGS=${LDFLAGS} " )
61
185
message (STATUS "CPPFLAGS=${CPPFLAGS} " )
62
- message (STATUS "--------------------------------------------" )
63
-
186
+ message (STATUS "DLL_EXT=${DLL_EXT} " )
187
+ message (STATUS "TEST_FOLDER=${TEST_FOLDER} " )
188
+ message (STATUS "CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} " )
189
+ message (STATUS "**********************************" )
190
+ message (STATUS "**********************************" )
191
+ message (STATUS "**********************************" )
0 commit comments