1# Copyright (c) 2009, 2011, 2012 Oracle and/or its affiliates. All rights reserved. 2# 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation; version 2 of the License. 6# 7# This program is distributed in the hope that it will be useful, 8# but WITHOUT ANY WARRANTY; without even the implied warranty of 9# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10# GNU General Public License for more details. 11# 12# You should have received a copy of the GNU General Public License 13# along with this program; if not, write to the Free Software 14# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA 15 16# Symbols with information about the CPU. 17 18IF(NOT DEFINED CPU_LEVEL1_DCACHE_LINESIZE) 19 20IF(CMAKE_SYSTEM_NAME MATCHES "Darwin") 21 FIND_PROGRAM(SYSCTL sysctl) 22 MARK_AS_ADVANCED(SYSCTL) 23 24 IF(SYSCTL) 25 EXECUTE_PROCESS( 26 COMMAND ${SYSCTL} -n hw.cachelinesize 27 OUTPUT_VARIABLE CPU_LEVEL1_DCACHE_LINESIZE 28 ) 29 ENDIF() 30 31ELSE() 32 FIND_PROGRAM(GETCONF getconf) 33 MARK_AS_ADVANCED(GETCONF) 34 35 IF(GETCONF) 36 EXECUTE_PROCESS( 37 COMMAND ${GETCONF} LEVEL1_DCACHE_LINESIZE 38 OUTPUT_VARIABLE CPU_LEVEL1_DCACHE_LINESIZE 39 ) 40 ENDIF() 41ENDIF() 42 43ENDIF() 44