--- /dev/null 2022-06-29 01:42:07.000000000 +0000 +++ CMakeLists.txt 2022-06-29 01:41:26.858374700 +0000 @@ -0,0 +1,62 @@ +# Helper cmake for Windows +# the default libjpeg build for Windows (see makefile.vc) +# only builds a static library. Because the jpeg functions +# aren't marked with __declspec(export) it is easiest +# to use cmake and set the WINDOWS_EXPORT_ALL_SYMBOLS property +# to create a DLL with all symbols exported and a implib (.lib) +# that can be linked against. + +cmake_minimum_required (VERSION 3.4) +project (JPEG) + +set(JPEG_SRC jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c + jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c + jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c + jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c + jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c + jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c + jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c + jquant2.c jutils.c jmemmgr.c jmemansi.c) +add_library (libjpeg SHARED ${JPEG_SRC}) + +target_include_directories (libjpeg PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +set_target_properties(libjpeg PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) +add_definitions(-D_CRT_SECURE_NO_WARNINGS) + +add_executable (cjpeg cjpeg.c rdppm.c rdgif.c rdtarga.c rdrle.c rdbmp.c rdswitch.c cdjpeg.c) +target_link_libraries (cjpeg libjpeg) +add_executable (djpeg djpeg.c wrppm.c wrgif.c wrtarga.c wrrle.c wrbmp.c rdcolmap.c cdjpeg.c) +target_link_libraries (djpeg libjpeg) +add_executable (jpegtran jpegtran.c rdswitch.c cdjpeg.c transupp.c) +target_link_libraries (jpegtran libjpeg) +add_executable (rdjpgcom rdjpgcom.c) +target_link_libraries (rdjpgcom libjpeg) +add_executable (wrjpgcom wrjpgcom.c) +target_link_libraries (wrjpgcom libjpeg) + +add_library(jpeg STATIC ${JPEG_SRC}) + +install(TARGETS libjpeg cjpeg djpeg jpegtran rdjpgcom wrjpgcom jpeg + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) + +install(FILES jpeglib.h jconfig.h jmorecfg.h jerror.h jpegint.h DESTINATION include) + +# pkg-config file (added for libtiff) + +set(prefix ${CMAKE_INSTALL_PREFIX}) +set(exec_prefix "\${prefix}") +set(libdir "\${exec_prefix}/lib") +set(includedir "\${prefix}/include") + +configure_file( + libjpeg.pc.in + libjpeg.pc + @ONLY +) + +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/libjpeg.pc + DESTINATION lib/pkgconfig +) \ No newline at end of file