Skip to content

Commit 5136295

Browse files
Daniel Blacksvoj
authored andcommitted
OSX: get cache line size
1 parent 107de65 commit 5136295

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

cmake/cpu_info.cmake

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,29 @@
1515

1616
# Symbols with information about the CPU.
1717

18-
FIND_PROGRAM(GETCONF getconf)
19-
MARK_AS_ADVANCED(GETCONF)
18+
IF(CMAKE_SYSTEM_NAME MATCHES "Darwin")
19+
FIND_PROGRAM(SYSCTL sysctl)
20+
MARK_AS_ADVANCED(SYSCTL)
2021

21-
IF(GETCONF)
22-
EXECUTE_PROCESS(
23-
COMMAND ${GETCONF} LEVEL1_DCACHE_LINESIZE
24-
OUTPUT_VARIABLE CPU_LEVEL1_DCACHE_LINESIZE
25-
)
22+
IF(SYSCTL)
23+
EXECUTE_PROCESS(
24+
COMMAND ${SYSCTL} -n hw.cachelinesize
25+
OUTPUT_VARIABLE CPU_LEVEL1_DCACHE_LINESIZE
26+
)
27+
ENDIF()
28+
29+
ELSE()
30+
FIND_PROGRAM(GETCONF getconf)
31+
MARK_AS_ADVANCED(GETCONF)
32+
33+
IF(GETCONF)
34+
EXECUTE_PROCESS(
35+
COMMAND ${GETCONF} LEVEL1_DCACHE_LINESIZE
36+
OUTPUT_VARIABLE CPU_LEVEL1_DCACHE_LINESIZE
37+
)
38+
ENDIF()
2639
ENDIF()
40+
2741
IF(CPU_LEVEL1_DCACHE_LINESIZE AND CPU_LEVEL1_DCACHE_LINESIZE GREATER 0)
2842
ELSE()
2943
SET(CPU_LEVEL1_DCACHE_LINESIZE 64)

0 commit comments

Comments
 (0)