blob: d2e1b500b9d359aa6f43ea595c0a68a055a9a03c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
macro(_CHECK_ATTRIBUTE ATTRIBUTE VARIABLE)
if(NOT DEFINED HAVE_${VARIABLE})
message(STATUS "Check for __attribute__ ((${ATTRIBUTE})) ")
set(CHECK_ATTRIBUTE ${ATTRIBUTE})
configure_file(${PROJECT_SOURCE_DIR}/cmake/CheckAttribute.c.in ${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckAttribute.c @ONLY)
try_compile(HAVE_${VARIABLE} "${PROJECT_BINARY_DIR}"
"${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckAttribute.c")
if(HAVE_${VARIABLE})
message(STATUS "Check for __attribute__ ((${ATTRIBUTE})) - yes")
set(${VARIABLE} 1 CACHE INTERNAL "Result of CHECK_ATTRIBUTE ${ATTRIBUTE}" FORCE)
else ()
message(STATUS "Check for __attribute__ ((${ATTRIBUTE})) - no")
endif()
endif ()
endmacro(_CHECK_ATTRIBUTE)
macro(CHECK_ATTRIBUTE_POWER8 VARIABLE)
_CHECK_ATTRIBUTE("target(\"cpu=power8\")" ${VARIABLE})
endmacro(CHECK_ATTRIBUTE_POWER8)
macro(CHECK_ATTRIBUTE_POWER9 VARIABLE)
_CHECK_ATTRIBUTE("target(\"cpu=power9\")" ${VARIABLE})
endmacro(CHECK_ATTRIBUTE_POWER9)
|