@@ -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 ()
7581endif ()
7682
7783add_executable (cjpeg ../cjpeg.c ../cdjpeg.c ../rdgif.c ../rdppm.c ../rdjpeg.c
7884 ../rdswitch.c ${CJPEG_BMP_SOURCES} )
7985set_property (TARGET cjpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS} )
8086target_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+
82103add_executable (djpeg ../djpeg.c ../cdjpeg.c ../rdcolmap.c ../rdswitch.c
83104 ../wrgif.c ../wrppm.c ${DJPEG_BMP_SOURCES} )
84105set_property (TARGET djpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS} )
0 commit comments