From: Nathan Moinvaziri Date: Wed, 1 Jul 2020 03:57:47 +0000 (-0700) Subject: Apply float abi flag to all files in cmake (same as configure). X-Git-Tag: 1.9.9-b1~154^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f28864b9af5719aa2e23f2eb3af9d73b4334822d;p=thirdparty%2Fzlib-ng.git Apply float abi flag to all files in cmake (same as configure). Don't override -mfloat-abi if set via -DCMAKE_C_FLAGS in cmake. Only set -mfloat-abi=softfp if compiler ends in eabi in cmake. (same as configure). --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 5385565a..7d918e26 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -216,13 +216,17 @@ else() if(NOT NATIVEFLAG) if(__GNUC__) if(BASEARCH_ARM_FOUND) - # Check support for ARM floating point - execute_process(COMMAND ${CMAKE_C_COMPILER} "-dumpmachine" - OUTPUT_VARIABLE GCC_MACHINE) - if("${GCC_MACHINE}" MATCHES "eabihf") - set(FLOATABI "-mfloat-abi=hard") - else() - set(FLOATABI "-mfloat-abi=softfp") + if(NOT CMAKE_C_FLAGS MATCHES "-mfloat-abi") + # Check support for ARM floating point + execute_process(COMMAND ${CMAKE_C_COMPILER} "-dumpmachine" + OUTPUT_VARIABLE GCC_MACHINE) + if("${GCC_MACHINE}" MATCHES "gnueabihf") + set(FLOATABI "-mfloat-abi=hard") + elseif("${GCC_MACHINE}" MATCHES ".*gnueabi") + set(FLOATABI "-mfloat-abi=softfp") + endif() + message(STATUS "ARM floating point arch: ${FLOATABI}") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLOATABI}") endif() # NEON if("${ARCH}" MATCHES "aarch64") @@ -235,9 +239,7 @@ else() MFPU_NEON_AVAILABLE FAIL_REGEX "not supported") set(CMAKE_REQUIRED_FLAGS) if(MFPU_NEON_AVAILABLE) - set(NEONFLAG "${FLOATABI} -mfpu=neon") - else() - set(NEONFLAG "${FLOATABI}") + set(NEONFLAG "-mfpu=neon") endif() endif() # ACLE