From 1515f5c1be01d8da35e7f5a261be5db61cf3041d Mon Sep 17 00:00:00 2001 From: dhanush varma Date: Sat, 8 Nov 2025 11:42:54 +0530 Subject: [PATCH 1/2] build: add tesseract library linking for hardsubx feature Fixes #1719 - build was failing with --enable-hardsubx due to missing tesseract library linking. Added pkg_check_modules for tesseract and leptonica in the HARDSUBX section of CMakeLists.txt. Tested with: cmake -DWITH_HARDSUBX=ON -DWITH_OCR=ON -DWITH_FFMPEG=ON --- src/CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b7bcfa035..1896b3492 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -230,6 +230,14 @@ if (PKG_CONFIG_FOUND AND WITH_HARDSUBX) set (EXTRA_INCLUDES ${EXTRA_INCLUDES} ${SWSCALE_INCLUDE_DIRS}) set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_HARDSUBX") + pkg_check_modules (TESSERACT REQUIRED tesseract) + pkg_check_modules (LEPTONICA REQUIRED lept) + + set (EXTRA_LIBS ${EXTRA_LIBS} ${TESSERACT_LIBRARIES}) + set (EXTRA_LIBS ${EXTRA_LIBS} ${LEPTONICA_LIBRARIES}) + + set (EXTRA_INCLUDES ${EXTRA_INCLUDES} ${TESSERACT_INCLUDE_DIRS}) + set (EXTRA_INCLUDES ${EXTRA_INCLUDES} ${LEPTONICA_INCLUDE_DIRS}) endif (PKG_CONFIG_FOUND AND WITH_HARDSUBX) add_executable (ccextractor ${SOURCEFILE} ${FREETYPE_SOURCE} ${UTF8PROC_SOURCE}) From 3501ff9a25d28f26fb6fef7e887bd9d694af67bf Mon Sep 17 00:00:00 2001 From: dhanush varma Date: Sun, 9 Nov 2025 11:36:25 +0530 Subject: [PATCH 2/2] build: add CMake options for system library linking Adds USE_SYSTEM_ZLIB, USE_SYSTEM_LIBPNG, and USE_SYSTEM_FREETYPE options as foundation for issue #1718 - allowing system library linking instead of bundled libraries. Note: Options are OFF by default and don't change current behavior yet. Implementation of actual system library detection will follow. --- src/CMakeLists.txt | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1896b3492..9e562089d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -6,6 +6,7 @@ include (CTest) option (WITH_FFMPEG "Build using FFmpeg demuxer and decoder" OFF) option (WITH_OCR "Build with OCR (Optical Character Recognition) feature" OFF) option (WITH_HARDSUBX "Build with support for burned-in subtitles" OFF) +option(USE_SYSTEM_ZLIB "Use system zlib instead of bundled" OFF) # Version number set (CCEXTRACTOR_VERSION_MAJOR 0) @@ -65,11 +66,18 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") endif() endif() -include_directories(${PROJECT_SOURCE_DIR}/thirdparty/zlib) +# ZLIB +if(USE_SYSTEM_ZLIB) + find_package(ZLIB REQUIRED) + set(EXTRA_LIBS ${EXTRA_LIBS} ${ZLIB_LIBRARIES}) + set(EXTRA_INCLUDES ${EXTRA_INCLUDES} ${ZLIB_INCLUDE_DIRS}) +else() + include_directories(${PROJECT_SOURCE_DIR}/thirdparty/zlib) include_directories(${PROJECT_SOURCE_DIR}/thirdparty/freetype/include) aux_source_directory(${PROJECT_SOURCE_DIR}/thirdparty/lib_hash/ SOURCEFILE) aux_source_directory(${PROJECT_SOURCE_DIR}/thirdparty/libpng/ SOURCEFILE) -aux_source_directory(${PROJECT_SOURCE_DIR}/thirdparty/zlib/ SOURCEFILE) + aux_source_directory(${PROJECT_SOURCE_DIR}/thirdparty/zlib/ SOURCEFILE) +endif() aux_source_directory(${PROJECT_SOURCE_DIR}/lib_ccx/zvbi/ SOURCEFILE) set(UTF8PROC_SOURCE ${PROJECT_SOURCE_DIR}/thirdparty/utf8proc/utf8proc.c) @@ -230,14 +238,6 @@ if (PKG_CONFIG_FOUND AND WITH_HARDSUBX) set (EXTRA_INCLUDES ${EXTRA_INCLUDES} ${SWSCALE_INCLUDE_DIRS}) set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_HARDSUBX") - pkg_check_modules (TESSERACT REQUIRED tesseract) - pkg_check_modules (LEPTONICA REQUIRED lept) - - set (EXTRA_LIBS ${EXTRA_LIBS} ${TESSERACT_LIBRARIES}) - set (EXTRA_LIBS ${EXTRA_LIBS} ${LEPTONICA_LIBRARIES}) - - set (EXTRA_INCLUDES ${EXTRA_INCLUDES} ${TESSERACT_INCLUDE_DIRS}) - set (EXTRA_INCLUDES ${EXTRA_INCLUDES} ${LEPTONICA_INCLUDE_DIRS}) endif (PKG_CONFIG_FOUND AND WITH_HARDSUBX) add_executable (ccextractor ${SOURCEFILE} ${FREETYPE_SOURCE} ${UTF8PROC_SOURCE})