From 54b9fe4de9f0aa3af15f52a6f27ffaf758b43769 Mon Sep 17 00:00:00 2001 From: zdenop Date: Sat, 15 Jul 2023 19:43:50 +0200 Subject: [PATCH] cmake: check_leptonica_tiff_support() works with cmake>=3.25 --- CMakeLists.txt | 4 +-- cmake/CheckFunctions.cmake | 54 ++++++++++++++++++++------------------ 2 files changed, 31 insertions(+), 27 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1eb3c6a5..68da6c53 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -408,10 +408,10 @@ else() include_directories(${Leptonica_INCLUDE_DIRS}) check_leptonica_tiff_support() - if (NOT LEPT_TIFF_RESULT EQUAL 0) + if ((NOT LEPT_TIFF_RESULT EQUAL 0) AND LEPT_TIFF_COMPILE_SUCCESS) message(NOTICE "Leptonica was build without TIFF support! Disabling TIFF support...") set(DISABLE_TIFF ON) - else() + elseif(NOT ${CMAKE_VERSION} VERSION_LESS "3.25") message(STATUS "Leptonica was build with TIFF support.") endif() diff --git a/cmake/CheckFunctions.cmake b/cmake/CheckFunctions.cmake index c897db48..4618eaeb 100644 --- a/cmake/CheckFunctions.cmake +++ b/cmake/CheckFunctions.cmake @@ -18,31 +18,35 @@ function(check_leptonica_tiff_support) # check if leptonica was build with tiff support set result to # LEPT_TIFF_RESULT set(TIFF_TEST - "#include \n" - "int main() {\n" - " l_uint8 *data = NULL;\n" - " size_t size = 0;\n" - " PIX* pix = pixCreate(3, 3, 4);\n" - " l_int32 ret_val = pixWriteMemTiff(&data, &size, pix, IFF_TIFF_G3);\n" - " pixDestroy(&pix);\n" - " lept_free(data);\n" - " return ret_val;}\n") - set(CMAKE_TRY_COMPILE_CONFIGURATION ${CMAKE_BUILD_TYPE}) - try_run( - LEPT_TIFF_RESULT - LEPT_TIFF_COMPILE - SOURCE_FROM_CONTENT tiff_test.cpp "${TIFF_TEST}" - CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${Leptonica_INCLUDE_DIRS}" - LINK_LIBRARIES ${Leptonica_LIBRARIES} - COMPILE_OUTPUT_VARIABLE - COMPILE_OUTPUT) - if(NOT LEPT_TIFF_COMPILE) - message(STATUS "COMPILE_OUTPUT: ${COMPILE_OUTPUT}") - message(STATUS "Leptonica_INCLUDE_DIRS: ${Leptonica_INCLUDE_DIRS}") - message(STATUS "Leptonica_LIBRARIES: ${Leptonica_LIBRARIES}") - message(STATUS "LEPT_TIFF_RESULT: ${LEPT_TIFF_RESULT}") - message(STATUS "LEPT_TIFF_COMPILE: ${LEPT_TIFF_COMPILE}") - message(WARNING "Failed to compile test") + "#include \"leptonica/allheaders.h\"\n" + "int main() {\n" + " l_uint8 *data = NULL;\n" + " size_t size = 0;\n" + " PIX* pix = pixCreate(3, 3, 4);\n" + " l_int32 ret_val = pixWriteMemTiff(&data, &size, pix, IFF_TIFF_G3);\n" + " pixDestroy(&pix);\n" + " lept_free(data);\n" + " return ret_val;}\n") + if(${CMAKE_VERSION} VERSION_LESS "3.25") + message(STATUS "Testing TIFF support in Leptonica is available with CMake >= 3.25 (you have ${CMAKE_VERSION}))") + else() + set(CMAKE_TRY_COMPILE_CONFIGURATION ${CMAKE_BUILD_TYPE}) + try_run( + LEPT_TIFF_RESULT + LEPT_TIFF_COMPILE_SUCCESS + SOURCE_FROM_CONTENT tiff_test.cpp "${TIFF_TEST}" + CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${Leptonica_INCLUDE_DIRS}" + LINK_LIBRARIES ${Leptonica_LIBRARIES} + COMPILE_OUTPUT_VARIABLE + COMPILE_OUTPUT) + if(NOT LEPT_TIFF_COMPILE_SUCCESS) + message(STATUS "COMPILE_OUTPUT: ${COMPILE_OUTPUT}") + message(STATUS "Leptonica_INCLUDE_DIRS: ${Leptonica_INCLUDE_DIRS}") + message(STATUS "Leptonica_LIBRARIES: ${Leptonica_LIBRARIES}") + message(STATUS "LEPT_TIFF_RESULT: ${LEPT_TIFF_RESULT}") + message(STATUS "LEPT_TIFF_COMPILE: ${LEPT_TIFF_COMPILE}") + message(WARNING "Failed to compile test") + endif() endif() endfunction(check_leptonica_tiff_support)