mirror of
https://github.com/webmproject/libwebp.git
synced 2024-11-20 04:18:26 +01:00
Merge "Add a flag to disable SIMD optimizations."
This commit is contained in:
commit
1b0e4abf08
@ -3,6 +3,7 @@ cmake_minimum_required(VERSION 2.8.7)
|
|||||||
project(libwebp C)
|
project(libwebp C)
|
||||||
|
|
||||||
# Options for coder / decoder executables.
|
# Options for coder / decoder executables.
|
||||||
|
option(WEBP_ENABLE_SIMD "Enable any SIMD optimization." ON)
|
||||||
option(WEBP_BUILD_CWEBP "Build the cwebp command line tool." OFF)
|
option(WEBP_BUILD_CWEBP "Build the cwebp command line tool." OFF)
|
||||||
option(WEBP_BUILD_DWEBP "Build the dwebp command line tool." OFF)
|
option(WEBP_BUILD_DWEBP "Build the dwebp command line tool." OFF)
|
||||||
option(WEBP_BUILD_GIF2WEBP "Build the gif2webp conversion tool." OFF)
|
option(WEBP_BUILD_GIF2WEBP "Build the gif2webp conversion tool." OFF)
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
## Check for SIMD extensions.
|
## Check for SIMD extensions.
|
||||||
|
|
||||||
function(webp_check_compiler_flag WEBP_SIMD_FLAG)
|
function(webp_check_compiler_flag WEBP_SIMD_FLAG ENABLE_SIMD)
|
||||||
|
if(NOT ENABLE_SIMD)
|
||||||
|
message(STATUS "Disabling ${WEBP_SIMD_FLAG} optimization.")
|
||||||
|
set(WEBP_HAVE_${WEBP_SIMD_FLAG} 0 PARENT_SCOPE)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
unset(WEBP_HAVE_FLAG_${WEBP_SIMD_FLAG} CACHE)
|
unset(WEBP_HAVE_FLAG_${WEBP_SIMD_FLAG} CACHE)
|
||||||
check_c_source_compiles("
|
check_c_source_compiles("
|
||||||
#include \"${CMAKE_CURRENT_LIST_DIR}/../src/dsp/dsp.h\"
|
#include \"${CMAKE_CURRENT_LIST_DIR}/../src/dsp/dsp.h\"
|
||||||
@ -56,11 +61,11 @@ foreach(I_SIMD RANGE ${WEBP_SIMD_FLAGS_RANGE})
|
|||||||
# (especially on Android).
|
# (especially on Android).
|
||||||
unset(WEBP_HAVE_${WEBP_SIMD_FLAG} CACHE)
|
unset(WEBP_HAVE_${WEBP_SIMD_FLAG} CACHE)
|
||||||
set(CMAKE_REQUIRED_FLAGS)
|
set(CMAKE_REQUIRED_FLAGS)
|
||||||
webp_check_compiler_flag(${WEBP_SIMD_FLAG})
|
webp_check_compiler_flag(${WEBP_SIMD_FLAG} ${WEBP_ENABLE_SIMD})
|
||||||
if(NOT WEBP_HAVE_${WEBP_SIMD_FLAG})
|
if(NOT WEBP_HAVE_${WEBP_SIMD_FLAG})
|
||||||
list(GET SIMD_ENABLE_FLAGS ${I_SIMD} SIMD_COMPILE_FLAG)
|
list(GET SIMD_ENABLE_FLAGS ${I_SIMD} SIMD_COMPILE_FLAG)
|
||||||
set(CMAKE_REQUIRED_FLAGS ${SIMD_COMPILE_FLAG})
|
set(CMAKE_REQUIRED_FLAGS ${SIMD_COMPILE_FLAG})
|
||||||
webp_check_compiler_flag(${WEBP_SIMD_FLAG})
|
webp_check_compiler_flag(${WEBP_SIMD_FLAG} ${WEBP_ENABLE_SIMD})
|
||||||
else()
|
else()
|
||||||
set(SIMD_COMPILE_FLAG " ")
|
set(SIMD_COMPILE_FLAG " ")
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
Reference in New Issue
Block a user