diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 34468ce1..33dbdb9e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,8 +2,9 @@ cmake_minimum_required (VERSION 3.0.2) project (CCExtractor) -option(WITH_FFMPEG "Build using FFmpeg demuxer and decoder" OFF) -option(WITH_OCR "Build with OCR (Optical Character Recognition) feature" OFF) +option (WITH_FFMPEG "Build using FFmpeg demuxer and decoder" OFF) +option (WITH_OCR "Build with OCR (Optical Character Recognition) feature" OFF) + #Version number set (CCEXTRACTOR_VERSION_MAJOR 0) set (CCEXTRACTOR_VERSION_MINOR 75) @@ -22,48 +23,52 @@ include_directories ("${PROJECT_SOURCE_DIR}/gpacmp4/") include_directories ("${PROJECT_SOURCE_DIR}/libccx_common/") #Adding some platform specific library path -LINK_DIRECTORIES(/opt/local/lib) -LINK_DIRECTORIES(/usr/local/lib) +link_directories (/opt/local/lib) +link_directories (/usr/local/lib) -SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -Wall -g -std=gnu99 -Wno-write-strings -D_FILE_OFFSET_BITS=64") +set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -Wall -g -std=gnu99 -Wno-write-strings -D_FILE_OFFSET_BITS=64") add_subdirectory (lib_ccx) -AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR} SOURCEFILE) +aux_source_directory (${PROJECT_SOURCE_DIR} SOURCEFILE) set (EXTRA_LIBS ${EXTRA_LIBS} ccx) set (EXTRA_LIBS ${EXTRA_LIBS} png) set (EXTRA_LIBS ${EXTRA_LIBS} m) ######################################################## # Build using FFmpeg libraries -# +######################################################## + if (WITH_FFMPEG) + find_package (PkgConfig) -find_package(PkgConfig) -pkg_check_modules(AVFORMAT REQUIRED libavformat) -pkg_check_modules(AVUTIL REQUIRED libavutil) -pkg_check_modules(AVCODEC REQUIRED libavcodec) -set (EXTRA_LIBS ${EXTRA_LIBS} ${AVFORMAT_STATIC_LIBRARIES} ) -set (EXTRA_LIBS ${EXTRA_LIBS} ${AVUTIL_STATIC_LIBRARIES} ) -set (EXTRA_LIBS ${EXTRA_LIBS} ${AVCODEC_STATIC_LIBRARIES} ) + pkg_check_modules (AVFORMAT REQUIRED libavformat) + pkg_check_modules (AVUTIL REQUIRED libavutil) + pkg_check_modules (AVCODEC REQUIRED libavcodec) -SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_FFMPEG") + set (EXTRA_LIBS ${EXTRA_LIBS} ${AVFORMAT_STATIC_LIBRARIES}) + set (EXTRA_LIBS ${EXTRA_LIBS} ${AVUTIL_STATIC_LIBRARIES}) + set (EXTRA_LIBS ${EXTRA_LIBS} ${AVCODEC_STATIC_LIBRARIES}) + + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_FFMPEG") endif (WITH_FFMPEG) ######################################################## # Build with OCR using leptonica and tesseract libraries -# +######################################################## + if (WITH_OCR) + find_package(PkgConfig) -find_package(PkgConfig) -pkg_check_modules(TESSERACT REQUIRED tesseract) -pkg_check_modules(LEPTONICA REQUIRED lept) -set (EXTRA_LIBS ${EXTRA_LIBS} ${TESSERACT_STATIC_LIBRARIES} ) -set (EXTRA_LIBS ${EXTRA_LIBS} ${LEPTONICA_STATIC_LIBRARIES} ) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_OCR ${TESSERACT_CFLAGS} ${LEPTONICA_CFLAGS}") + pkg_check_modules (TESSERACT REQUIRED tesseract) + pkg_check_modules (LEPTONICA REQUIRED lept) + set (EXTRA_LIBS ${EXTRA_LIBS} ${TESSERACT_STATIC_LIBRARIES}) + set (EXTRA_LIBS ${EXTRA_LIBS} ${LEPTONICA_STATIC_LIBRARIES}) + + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_OCR ${TESSERACT_CFLAGS} ${LEPTONICA_CFLAGS}") endif (WITH_OCR) -add_executable(ccextractor ${SOURCEFILE}) +add_executable (ccextractor ${SOURCEFILE}) target_link_libraries (ccextractor ${EXTRA_LIBS}) install (TARGETS ccextractor DESTINATION bin) diff --git a/src/lib_ccx/CMakeLists.txt b/src/lib_ccx/CMakeLists.txt index 463e810e..9bea17ef 100644 --- a/src/lib_ccx/CMakeLists.txt +++ b/src/lib_ccx/CMakeLists.txt @@ -1,27 +1,30 @@ -cmake_policy(SET CMP0037 NEW) +cmake_policy (SET CMP0037 NEW) -SET (CMAKE_C_FLAGS "-O0 -Wall -g -std=gnu99") +set (CMAKE_C_FLAGS "-O0 -Wall -g -std=gnu99") if (WITH_FFMPEG) -SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_FFMPEG") + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_FFMPEG") endif (WITH_FFMPEG) if (WITH_OCR) -find_package(PkgConfig) -pkg_check_modules(TESSERACT REQUIRED tesseract) -pkg_check_modules(LEPTONICA REQUIRED lept) -set (EXTRA_LIBS ${EXTRA_LIBS} ${TESSERACT_STATIC_LIBRARIES} ) -set (EXTRA_LIBS ${EXTRA_LIBS} ${LEPTONICA_STATIC_LIBRARIES} ) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_OCR ${TESSERACT_CFLAGS} ${LEPTONICA_CFLAGS}") + find_package(PkgConfig) + + pkg_check_modules(TESSERACT REQUIRED tesseract) + pkg_check_modules(LEPTONICA REQUIRED lept) + + set (EXTRA_LIBS ${EXTRA_LIBS} ${TESSERACT_STATIC_LIBRARIES}) + set (EXTRA_LIBS ${EXTRA_LIBS} ${LEPTONICA_STATIC_LIBRARIES}) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_OCR ${TESSERACT_CFLAGS} ${LEPTONICA_CFLAGS}") endif (WITH_OCR) -AUX_SOURCE_DIRECTORY("${PROJECT_SOURCE_DIR}/lib_ccx/" SOURCEFILE) -AUX_SOURCE_DIRECTORY("${PROJECT_SOURCE_DIR}/gpacmp4/" SOURCEFILE) -#AUX_SOURCE_DIRECTORY("${PROJECT_SOURCE_DIR}/libpng/" SOURCEFILE) -add_library(ccx ${SOURCEFILE}) +aux_source_directory ("${PROJECT_SOURCE_DIR}/lib_ccx/" SOURCEFILE) +aux_source_directory ("${PROJECT_SOURCE_DIR}/gpacmp4/" SOURCEFILE) +#aux_source_directory ("${PROJECT_SOURCE_DIR}/libpng/" SOURCEFILE) -FILE(GLOB HeaderFiles *.h) -file(WRITE ccx.pc "prefix=${CMAKE_INSTALL_PREFIX}\n" +add_library (ccx ${SOURCEFILE}) + +file (GLOB HeaderFiles *.h) +file (WRITE ccx.pc "prefix=${CMAKE_INSTALL_PREFIX}\n" "includedir=\${prefix}/include\n" "libdir=\${prefix}/lib\n\n" "Name: ccx\n" @@ -29,8 +32,9 @@ file(WRITE ccx.pc "prefix=${CMAKE_INSTALL_PREFIX}\n" "Version: 0.75\n" "Cflags: -I\${includedir}/\n" "Libs: -L\${libdir} -lccx -lpng\n" - "Libs.private: -lpng\n" ) + "Libs.private: -lpng\n" + ) install (TARGETS ccx DESTINATION lib) install (FILES ${HeaderFiles} DESTINATION include) -install (FILES ccx.pc DESTINATION lib/pkgconfig ) +install (FILES ccx.pc DESTINATION lib/pkgconfig)