-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtbb.diff
42 lines (41 loc) · 2.42 KB
/
tbb.diff
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
diff --git a/cmake/compilers/GNU.cmake b/cmake/compilers/GNU.cmake
index da6b408a..3730919a 100644
--- a/cmake/compilers/GNU.cmake
+++ b/cmake/compilers/GNU.cmake
@@ -47,19 +47,24 @@ endif()
# >=2.31.1). Capturing the output in CMake can be done like below. The version
# information is written to either stdout or stderr. To not make any
# assumptions, both are captured.
-execute_process(
- COMMAND ${CMAKE_COMMAND} -E env "LANG=C" ${CMAKE_CXX_COMPILER} -xc -c /dev/null -Wa,-v -o/dev/null
- OUTPUT_VARIABLE ASSEMBLER_VERSION_LINE_OUT
- ERROR_VARIABLE ASSEMBLER_VERSION_LINE_ERR
- OUTPUT_STRIP_TRAILING_WHITESPACE
- ERROR_STRIP_TRAILING_WHITESPACE
-)
-set(ASSEMBLER_VERSION_LINE ${ASSEMBLER_VERSION_LINE_OUT}${ASSEMBLER_VERSION_LINE_ERR})
-string(REGEX REPLACE ".*GNU assembler version ([0-9]+)\\.([0-9]+).*" "\\1" _tbb_gnu_asm_major_version "${ASSEMBLER_VERSION_LINE}")
-string(REGEX REPLACE ".*GNU assembler version ([0-9]+)\\.([0-9]+).*" "\\2" _tbb_gnu_asm_minor_version "${ASSEMBLER_VERSION_LINE}")
-unset(ASSEMBLER_VERSION_LINE_OUT)
-unset(ASSEMBLER_VERSION_LINE_ERR)
-unset(ASSEMBLER_VERSION_LINE)
+if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.29)
+ string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*" "\\1" _tbb_gnu_asm_major_version "${CMAKE_CXX_COMPILER_LINKER_VERSION}")
+ string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*" "\\2" _tbb_gnu_asm_minor_version "${CMAKE_CXX_COMPILER_LINKER_VERSION}")
+else()
+ execute_process(
+ COMMAND ${CMAKE_COMMAND} -E env "LANG=C" ${CMAKE_CXX_COMPILER} -xc -c /dev/null -Wa,-v -o/dev/null
+ OUTPUT_VARIABLE ASSEMBLER_VERSION_LINE_OUT
+ ERROR_VARIABLE ASSEMBLER_VERSION_LINE_ERR
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_STRIP_TRAILING_WHITESPACE
+ )
+ set(ASSEMBLER_VERSION_LINE ${ASSEMBLER_VERSION_LINE_OUT}${ASSEMBLER_VERSION_LINE_ERR})
+ string(REGEX REPLACE ".*GNU assembler version ([0-9]+)\\.([0-9]+).*" "\\1" _tbb_gnu_asm_major_version "${ASSEMBLER_VERSION_LINE}")
+ string(REGEX REPLACE ".*GNU assembler version ([0-9]+)\\.([0-9]+).*" "\\2" _tbb_gnu_asm_minor_version "${ASSEMBLER_VERSION_LINE}")
+ unset(ASSEMBLER_VERSION_LINE_OUT)
+ unset(ASSEMBLER_VERSION_LINE_ERR)
+ unset(ASSEMBLER_VERSION_LINE)
+endif()
message(TRACE "Extracted GNU assembler version: major=${_tbb_gnu_asm_major_version} minor=${_tbb_gnu_asm_minor_version}")
math(EXPR _tbb_gnu_asm_version_number "${_tbb_gnu_asm_major_version} * 1000 + ${_tbb_gnu_asm_minor_version}")