|
@@ -109,8 +109,21 @@ if(UNIX)
|
|
|
$<$<BOOL:${LIB_RT}>:${LIB_RT}>
|
|
|
)
|
|
|
|
|
|
- if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7l|aarch64|s390x)$" OR NOT HAVE_SYS_AUXV OR SKIP_CPU_FEATURES)
|
|
|
+ if (NOT HAVE_SYS_AUXV OR SKIP_CPU_FEATURES)
|
|
|
add_definitions(-DSKIP_CPU_FEATURES)
|
|
|
+ elseif(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" AND NOT CMAKE_SYSTEM_PROCESSOR MATCHES "^(amd64|i386)")
|
|
|
+ message("cpu_features is not available on FreeBSD/${CMAKE_SYSTEM_PROCESSOR}")
|
|
|
+ add_definitions(-DSKIP_CPU_FEATURES)
|
|
|
+ elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" AND NOT CMAKE_SYSTEM_NAME MATCHES "^(arm64|x86_64)")
|
|
|
+ # macOS runs only on Intel or ARM architecrues, should not reach here
|
|
|
+ add_definitions(-DSKIP_CPU_FEATURES)
|
|
|
+ elseif(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS" OR ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
|
|
|
+ message("cpu_features is not available on ${CMAKE_SYSTEM_NAME}")
|
|
|
+ add_definitions(-DSKIP_CPU_FEATURES)
|
|
|
+ elseif(USE_SYSTEM_CPU_FEATURES)
|
|
|
+ CHECK_INCLUDE_FILE(cpu_features_macros.h HAVE_CPU_FEATURES)
|
|
|
+ message("-- Using system's cpu_features")
|
|
|
+ target_link_libraries(mayaqua PRIVATE cpu_features)
|
|
|
else()
|
|
|
add_subdirectory(3rdparty/cpu_features)
|
|
|
set_property(TARGET cpu_features PROPERTY POSITION_INDEPENDENT_CODE ON)
|