From c5c393c52f672145e1f3fbe6f76ed363e3b1fff9 Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Mon, 31 Oct 2022 08:56:00 +0100 Subject: [PATCH] CMake: also find jconfig.h from libturbojpeg from arch-specific include directory This header file is architecture-dependent and can be stored as: - /usr/include/i386-linux-gnu/jconfig.h - /usr/include/x86_64-linux-gnu/jconfig.h Instead of: - /usr/include/jconfig.h Signed-off-by: Thomas Debesse --- src/cmake/modules/FindJPEGTurbo.cmake | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/cmake/modules/FindJPEGTurbo.cmake b/src/cmake/modules/FindJPEGTurbo.cmake index a6fb7560b9..a536fb222e 100644 --- a/src/cmake/modules/FindJPEGTurbo.cmake +++ b/src/cmake/modules/FindJPEGTurbo.cmake @@ -29,7 +29,22 @@ endif () if (JPEG_INCLUDE_DIR AND JPEG_LIBRARY) set (JPEG_INCLUDE_DIRS ${JPEG_INCLUDE_DIR} CACHE PATH "JPEG include dirs") set (JPEG_LIBRARIES ${JPEG_LIBRARY} CACHE STRING "JPEG libraries") - file(STRINGS "${JPEG_INCLUDE_DIR}/jconfig.h" + + find_path(jconfig_header_file jconfig.h PATHS "${JPEG_INCLUDE_DIR}") + + if (NOT jconfig_header_file) + file(GLOB_RECURSE jconfig_header_file_list "${JPEG_INCLUDE_DIR}/*/jconfig.h") + + if (jconfig_header_file_list) + list(GET jconfig_header_file_list 0 jconfig_header_file) + endif() + + if (NOT jconfig_header_file) + message(FATAL_ERROR "Cannot find jconfig.h from libturbojpeg") + endif() + endif() + + file(STRINGS "${jconfig_header_file}" jpeg_lib_version REGEX "^#define[\t ]+JPEG_LIB_VERSION[\t ]+.*") if (jpeg_lib_version) string(REGEX REPLACE "^#define[\t ]+JPEG_LIB_VERSION[\t ]+([0-9]+).*"