diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 058bca7c00..c06ed56255 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -15,90 +15,6 @@ endif() # CMake seems to only define _DEBUG on Windows set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$:_DEBUG> $<$>:NDEBUG>) - -# Platform detection macros -if(WIN32) - add_compile_definitions(PLATFORM_WINDOWS) -elseif(ANDROID) - add_compile_definitions(PLATFORM_ANDROID) -elseif(APPLE) - add_compile_definitions(PLATFORM_MACOS) -elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") - add_compile_definitions(PLATFORM_FREEBSD) -elseif(UNIX) - add_compile_definitions(PLATFORM_LINUX) -endif() - -# Architecture-specific intrinsics flags -if(ARCHITECTURE_x86_64) - add_compile_definitions(ARCH_X86_64) - - if(MSVC AND NOT CXX_CLANG) - # MSVC: Enable AVX2 (includes BMI2 support) - add_compile_options(/arch:AVX2) - else() - # GCC/Clang: Enable SSE4.2, AVX2, and BMI2 - include(CheckCXXCompilerFlag) - - check_cxx_compiler_flag("-mavx2" COMPILER_SUPPORTS_AVX2) - check_cxx_compiler_flag("-mbmi2" COMPILER_SUPPORTS_BMI2) - - if(COMPILER_SUPPORTS_AVX2) - add_compile_options(-mavx2) - endif() - - if(COMPILER_SUPPORTS_BMI2) - add_compile_options(-mbmi2) - add_compile_definitions(HAS_BMI2) - endif() - endif() - -elseif(ARCHITECTURE_arm64) - add_compile_definitions(ARCH_ARM64) - - # ARM64 has NEON by default, but enable explicitly for some compilers - if(NOT MSVC) - add_compile_options(-march=armv8-a) - endif() - - # Android-specific ARM64 configuration - if(ANDROID AND ANDROID_ABI STREQUAL "arm64-v8a") - add_compile_options(-march=armv8-a+simd) - endif() - -elseif(ARCHITECTURE_arm) - add_compile_definitions(ARCH_ARM32) - - # Check for NEON support on ARM32 - if(NOT MSVC) - include(CheckCXXCompilerFlag) - check_cxx_compiler_flag("-mfpu=neon" COMPILER_SUPPORTS_NEON) - - if(COMPILER_SUPPORTS_NEON) - add_compile_options(-mfpu=neon) - add_compile_definitions(HAS_NEON) - - # Android ARM32 specific - if(ANDROID) - add_compile_options(-mfloat-abi=softfp) - endif() - endif() - endif() -endif() - -# Android-specific ABI configurations -if(ANDROID) - if(ANDROID_ABI STREQUAL "x86_64") - add_compile_definitions(ARCH_X86_64) - if(NOT MSVC) - add_compile_options(-msse4.2 -mavx2 -mbmi2) - endif() - elseif(ANDROID_ABI STREQUAL "armeabi-v7a") - add_compile_definitions(ARCH_ARM32) - add_compile_options(-mfpu=neon -mfloat-abi=softfp) - add_compile_definitions(HAS_NEON) - endif() -endif() # Set compilation flags if (MSVC AND NOT CXX_CLANG)