From 2cc6339e6167f143639d7dd4deee360cd8d6a883 Mon Sep 17 00:00:00 2001 From: Oleksandr Kulkov Date: Sat, 4 Oct 2025 16:04:04 +0200 Subject: [PATCH] Fix processor check in CMakeLists.txt Fix CMake architecture detection for cross-compilation - Use CMAKE_SYSTEM_PROCESSOR instead of CMAKE_HOST_SYSTEM_PROCESSOR to correctly detect the target architecture rather than the host - Add CMAKE_CROSSCOMPILING check before using -march=native to prevent generating host-specific code when cross-compiling - Update status message to display the correct processor information --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 617b38e..58e8054 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,9 +8,9 @@ endif () set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) -if (UNIX AND (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64")) +if (UNIX AND (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mbmi2 -mavx2") - if (SSHASH_USE_ARCH_NATIVE) + if (SSHASH_USE_ARCH_NATIVE AND NOT CMAKE_CROSSCOMPILING) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") endif() endif() @@ -51,7 +51,7 @@ endif() MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}") MESSAGE(STATUS "Conda build: ${CONDA_BUILD}") MESSAGE(STATUS "Installation prefix: ${CMAKE_INSTALL_PREFIX}") -MESSAGE(STATUS "Compiling for processor: ${CMAKE_HOST_SYSTEM_PROCESSOR}") +MESSAGE(STATUS "Compiling for processor: ${CMAKE_SYSTEM_PROCESSOR}") MESSAGE(STATUS "Compiling with flags:${CMAKE_CXX_FLAGS}") include_directories(.) # all include paths relative to parent directory