mirror of
https://github.com/opencv/opencv.git
synced 2024-12-06 02:29:14 +08:00
b928ebdd53
* [build][option] Introduce `OPENCV_DISABLE_THREAD_SUPPORT` option. The option forces the library to build without thread support. * update handling of OPENCV_DISABLE_THREAD_SUPPORT - reduce amount of #if conditions * [to squash] cmake: apply mode vars in toolchains too Co-authored-by: Alexander Alekhin <alexander.a.alekhin@gmail.com>
67 lines
2.2 KiB
CMake
67 lines
2.2 KiB
CMake
# ----------------------------------------------------------------------------
|
|
# CMake file for libwebp. See root CMakeLists.txt
|
|
#
|
|
# ----------------------------------------------------------------------------
|
|
project(${WEBP_LIBRARY})
|
|
|
|
ocv_include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
|
if(ANDROID)
|
|
ocv_include_directories(${CPUFEATURES_INCLUDE_DIRS})
|
|
endif()
|
|
|
|
file(GLOB lib_srcs src/dec/*.c src/demux/*.c src/dsp/*.c src/enc/*.c src/mux/*.c src/utils/*.c src/webp/*.c)
|
|
file(GLOB lib_hdrs src/dec/*.h src/demux/*.h src/dsp/*.h src/enc/*.h src/mux/*.h src/utils/*.h src/webp/*.h)
|
|
|
|
# FIXIT
|
|
if(ANDROID AND ARMEABI_V7A AND NOT NEON)
|
|
foreach(file ${lib_srcs})
|
|
if("${file}" MATCHES "_neon.c")
|
|
set_source_files_properties("${file}" COMPILE_FLAGS "-mfpu=neon")
|
|
endif()
|
|
endforeach()
|
|
endif()
|
|
|
|
# FIX for quant.h - requires C99 for() loops
|
|
ocv_check_flag_support(C "-std=c99" _varname "${CMAKE_C_FLAGS}")
|
|
if(${_varname})
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
|
|
endif()
|
|
|
|
|
|
# ----------------------------------------------------------------------------------
|
|
# Define the library target:
|
|
# ----------------------------------------------------------------------------------
|
|
|
|
if(NOT OPENCV_DISABLE_THREAD_SUPPORT)
|
|
add_definitions(-DWEBP_USE_THREAD)
|
|
endif()
|
|
|
|
add_library(${WEBP_LIBRARY} STATIC ${OPENCV_3RDPARTY_EXCLUDE_FROM_ALL} ${lib_srcs} ${lib_hdrs})
|
|
if(ANDROID)
|
|
target_link_libraries(${WEBP_LIBRARY} ${CPUFEATURES_LIBRARIES})
|
|
endif()
|
|
|
|
ocv_warnings_disable(CMAKE_C_FLAGS -Wunused-variable -Wunused-function -Wshadow -Wmaybe-uninitialized
|
|
-Wmissing-prototypes # clang
|
|
-Wmissing-declarations # gcc
|
|
-Wimplicit-fallthrough
|
|
)
|
|
ocv_warnings_disable(CMAKE_C_FLAGS /wd4244 /wd4267) # vs2005
|
|
|
|
set_target_properties(${WEBP_LIBRARY}
|
|
PROPERTIES OUTPUT_NAME ${WEBP_LIBRARY}
|
|
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
|
|
COMPILE_PDB_NAME ${WEBP_LIBRARY}
|
|
COMPILE_PDB_NAME_DEBUG "${WEBP_LIBRARY}${OPENCV_DEBUG_POSTFIX}"
|
|
ARCHIVE_OUTPUT_DIRECTORY ${3P_LIBRARY_OUTPUT_PATH}
|
|
)
|
|
|
|
if(ENABLE_SOLUTION_FOLDERS)
|
|
set_target_properties(${WEBP_LIBRARY} PROPERTIES FOLDER "3rdparty")
|
|
endif()
|
|
|
|
if(NOT BUILD_SHARED_LIBS)
|
|
ocv_install_target(${WEBP_LIBRARY} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev OPTIONAL)
|
|
endif()
|
|
|