Skip to content

Commit 3fed7e0

Browse files
dofuuzkornelski
authored andcommitted
Add PNG support to cjpeg shared build
1 parent 8fb32c0 commit 3fed7e0

2 files changed

Lines changed: 29 additions & 0 deletions

File tree

CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -681,6 +681,14 @@ if(ENABLE_STATIC)
681681
endif()
682682

683683
if(PNG_SUPPORTED)
684+
# to avoid finding shared library from CMake cache
685+
unset(PNG_LIBRARY CACHE)
686+
unset(PNG_LIBRARY_RELEASE CACHE)
687+
unset(PNG_LIBRARY_DEBUG CACHE)
688+
unset(ZLIB_LIBRARY CACHE)
689+
unset(ZLIB_LIBRARY_RELEASE CACHE)
690+
unset(ZLIB_LIBRARY_DEBUG CACHE)
691+
684692
if (APPLE)
685693
find_package(ZLIB REQUIRED) # macos doesn't have static zlib
686694
endif()

sharedlib/CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,34 @@ else()
7272
set(COMPILE_FLAGS "-DBMP_SUPPORTED -DGIF_SUPPORTED -DPPM_SUPPORTED -DTARGA_SUPPORTED ${USE_SETMODE}")
7373
set(CJPEG_BMP_SOURCES ../rdbmp.c ../rdtarga.c)
7474
set(DJPEG_BMP_SOURCES ../wrbmp.c ../wrtarga.c)
75+
76+
if(PNG_SUPPORTED)
77+
report_option(PNG_SUPPORTED "PNG reading support")
78+
set(COMPILE_FLAGS "${COMPILE_FLAGS} -DPNG_SUPPORTED")
79+
set(CJPEG_BMP_SOURCES ${CJPEG_BMP_SOURCES} ../rdpng.c)
80+
endif()
7581
endif()
7682

7783
add_executable(cjpeg ../cjpeg.c ../cdjpeg.c ../rdgif.c ../rdppm.c ../rdjpeg.c
7884
../rdswitch.c ${CJPEG_BMP_SOURCES})
7985
set_property(TARGET cjpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
8086
target_link_libraries(cjpeg jpeg)
8187

88+
if(PNG_SUPPORTED)
89+
# to avoid finding static library from CMake cache
90+
unset(PNG_LIBRARY CACHE)
91+
unset(PNG_LIBRARY_RELEASE CACHE)
92+
unset(PNG_LIBRARY_DEBUG CACHE)
93+
unset(ZLIB_LIBRARY CACHE)
94+
unset(ZLIB_LIBRARY_RELEASE CACHE)
95+
unset(ZLIB_LIBRARY_DEBUG CACHE)
96+
97+
find_package(PNG 1.6 REQUIRED)
98+
find_package(ZLIB REQUIRED)
99+
target_include_directories(cjpeg PUBLIC ${PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR})
100+
target_link_libraries(cjpeg ${PNG_LIBRARY} ${ZLIB_LIBRARY})
101+
endif()
102+
82103
add_executable(djpeg ../djpeg.c ../cdjpeg.c ../rdcolmap.c ../rdswitch.c
83104
../wrgif.c ../wrppm.c ${DJPEG_BMP_SOURCES})
84105
set_property(TARGET djpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})

0 commit comments

Comments
 (0)