Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/leptonica/src/CMakeLists.txt @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1:1d09e1dec1d9 | 2:b50eed0cc0ef |
|---|---|
| 1 # | |
| 2 # leptonica | |
| 3 # | |
| 4 | |
| 5 ################################################################################ | |
| 6 | |
| 7 ######################################## | |
| 8 # SHARED LIBRARY leptonica | |
| 9 ######################################## | |
| 10 | |
| 11 file(GLOB hdr "*.h") | |
| 12 file(GLOB src "*.c") | |
| 13 | |
| 14 string(REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") | |
| 15 | |
| 16 add_library (leptonica ${src} ${hdr}) | |
| 17 set_target_properties (leptonica PROPERTIES VERSION 6.0.0) | |
| 18 set_target_properties (leptonica PROPERTIES SOVERSION 6) | |
| 19 set_target_properties (leptonica PROPERTIES OUTPUT_NAME leptonica$<$<BOOL:${MSVC}>:-${PROJECT_VERSION}$<$<CONFIG:DEBUG>:d>>) | |
| 20 | |
| 21 if (BUILD_SHARED_LIBS) | |
| 22 target_compile_definitions (leptonica PRIVATE -DLIBLEPT_EXPORTS) | |
| 23 endif() | |
| 24 | |
| 25 if (GIF_LIBRARIES) | |
| 26 target_include_directories (leptonica PRIVATE ${GIF_INCLUDE_DIR}) | |
| 27 target_link_libraries (leptonica PRIVATE ${GIF_LIBRARIES}) | |
| 28 endif() | |
| 29 if (JPEG_LIBRARIES) | |
| 30 target_include_directories (leptonica PRIVATE ${JPEG_INCLUDE_DIR}) | |
| 31 target_link_libraries (leptonica PRIVATE ${JPEG_LIBRARIES}) | |
| 32 endif() | |
| 33 if (OPENJPEG_LIBRARIES) | |
| 34 # openjp2 < 2.5.0 does not sets the INTERFACE_INCLUDE_DIRECTORIES property | |
| 35 target_include_directories (leptonica PRIVATE ${OPENJPEG_INCLUDE_DIRS}) | |
| 36 target_link_libraries (leptonica PRIVATE openjp2) | |
| 37 endif() | |
| 38 if (PNG_LIBRARIES) | |
| 39 target_include_directories (leptonica PRIVATE ${PNG_INCLUDE_DIRS}) | |
| 40 target_link_libraries (leptonica PRIVATE ${PNG_LIBRARIES}) | |
| 41 endif() | |
| 42 if (TIFF_LIBRARIES) | |
| 43 target_include_directories (leptonica PRIVATE ${TIFF_INCLUDE_DIR}) | |
| 44 target_link_libraries (leptonica PRIVATE ${TIFF_LIBRARIES}) | |
| 45 endif() | |
| 46 if (WebP_LIBRARIES) | |
| 47 if(TARGET WebP::webp) | |
| 48 target_link_libraries (leptonica PRIVATE WebP::webp WebP::libwebpmux) | |
| 49 else() | |
| 50 target_link_libraries (leptonica PRIVATE ${WebP_LIBRARIES}) | |
| 51 target_include_directories(leptonica PRIVATE ${WebP_INCLUDE_DIR}) | |
| 52 endif() | |
| 53 endif() | |
| 54 if (ZLIB_LIBRARIES) | |
| 55 target_include_directories (leptonica PRIVATE ${ZLIB_INCLUDE_DIRS}) | |
| 56 target_link_libraries (leptonica PRIVATE ${ZLIB_LIBRARIES}) | |
| 57 endif() | |
| 58 | |
| 59 if (UNIX) | |
| 60 target_link_libraries (leptonica PRIVATE m) | |
| 61 set(lib ${CMAKE_SHARED_LIBRARY_PREFIX}) | |
| 62 set(dll ${CMAKE_SHARED_LIBRARY_SUFFIX}) | |
| 63 set(old_target ${lib}lept${dll}) | |
| 64 if (SYM_LINK) | |
| 65 add_custom_target(lept ALL | |
| 66 ${CMAKE_COMMAND} -E create_symlink "$<TARGET_FILE:leptonica>" ${old_target} | |
| 67 DEPENDS ${PROJECT_NAME} | |
| 68 COMMENT "Creating lept symlink") | |
| 69 install(FILES ${CMAKE_BINARY_DIR}/src/${old_target} DESTINATION lib) | |
| 70 endif(SYM_LINK) | |
| 71 endif() | |
| 72 | |
| 73 if (MSVC) | |
| 74 target_link_libraries (leptonica PRIVATE user32.lib gdi32.lib) | |
| 75 endif() | |
| 76 | |
| 77 if (NOT SW_BUILD) | |
| 78 export(TARGETS leptonica FILE ${CMAKE_BINARY_DIR}/LeptonicaTargets.cmake) | |
| 79 else() | |
| 80 target_link_libraries (leptonica PRIVATE | |
| 81 org.sw.demo.gif | |
| 82 org.sw.demo.jpeg | |
| 83 org.sw.demo.glennrp.png | |
| 84 org.sw.demo.tiff | |
| 85 org.sw.demo.webmproject.webp | |
| 86 org.sw.demo.uclouvain.openjpeg.openjp2 | |
| 87 ) | |
| 88 file(WRITE ${CMAKE_BINARY_DIR}/LeptonicaTargets.cmake "include(${CMAKE_BINARY_DIR}/cppan.cmake)\n") | |
| 89 export(TARGETS leptonica APPEND FILE ${CMAKE_BINARY_DIR}/LeptonicaTargets.cmake) | |
| 90 endif() | |
| 91 | |
| 92 install(TARGETS leptonica EXPORT LeptonicaTargets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) | |
| 93 install(EXPORT LeptonicaTargets DESTINATION ${leptonica_INSTALL_CMAKE_DIR}) | |
| 94 install(FILES | |
| 95 ${hdr} | |
| 96 ${CMAKE_BINARY_DIR}/src/endianness.h | |
| 97 DESTINATION include/leptonica) | |
| 98 | |
| 99 ################################################################################ |
