sfizz/cmake/SfizzSIMDSourceFilesCheck.cmake

29 lines
904 B
CMake
Raw Normal View History

2019-11-25 16:10:30 +01:00
# Check SIMD
include (CheckIncludeFiles)
CHECK_INCLUDE_FILES(x86intrin.h HAVE_X86INTRIN_H)
CHECK_INCLUDE_FILES(intrin.h HAVE_INTRIN_H)
if (!APPLE)
CHECK_INCLUDE_FILES (arm_neon.h HAVE_ARM_NEON_H)
endif()
# SIMD checks
if (HAVE_X86INTRIN_H AND UNIX)
add_compile_options (-DHAVE_X86INTRIN_H)
2019-12-22 23:36:34 +01:00
set (SFIZZ_SIMD_SOURCES sfizz/SIMDSSE.cpp)
2019-11-25 16:10:30 +01:00
elseif (HAVE_INTRIN_H AND WIN32)
add_compile_options (/DHAVE_INTRIN_H)
set (SFIZZ_SIMD_SOURCES sfizz/SIMDSSE.cpp)
elseif (HAVE_ARM_NEON_H AND UNIX)
add_compile_options (-DHAVE_ARM_NEON_H)
add_compile_options (-mfpu=neon-fp-armv8)
add_compile_options (-march=native)
add_compile_options (-mtune=cortex-a53)
add_compile_options (-funsafe-math-optimizations)
2019-12-22 23:36:34 +01:00
set (SFIZZ_SIMD_SOURCES sfizz/SIMDDummy.cpp)
2019-11-25 16:10:30 +01:00
else()
2019-12-22 23:36:34 +01:00
set (SFIZZ_SIMD_SOURCES sfizz/SIMDDummy.cpp)
2019-11-25 16:10:30 +01:00
endif()
set (SFIZZ_SOURCES ${SFIZZ_SOURCES} ${SFIZZ_SIMD_SOURCES})