]>
Commit | Line | Data |
---|---|---|
1e59de90 TL |
1 | cmake_minimum_required(VERSION 3.13) |
2 | project(libjpeg LANGUAGES C) | |
3 | ||
4 | option(BUILD_EXECUTABLES OFF) | |
5 | ||
6 | # | |
7 | # jconfig.h is a public header, so it must be genrated. Please reference the install.txt in jpegsr9d.zip | |
8 | # | |
9 | # jconfig.txt should contain #cmakedefine which is modified by porfile.cmake of ijg-libjpeg port in VcPkg | |
10 | # By doing this we can skip 'configure' step. Visit https://github.com/LuaDist/libjpeg | |
11 | # | |
12 | include(CheckIncludeFile) | |
13 | check_include_file(stddef.h HAVE_STDDEF_H) | |
14 | check_include_file(stdlib.h HAVE_STDLIB_H) | |
15 | configure_file(jconfig.txt ${CMAKE_CURRENT_SOURCE_DIR}/jconfig.h) | |
16 | ||
17 | list(APPEND PUBLIC_HEADERS jpeglib.h jerror.h jmorecfg.h jconfig.h) | |
18 | ||
19 | add_library(jpeg | |
20 | ${PUBLIC_HEADERS} jinclude.h jpegint.h jversion.h | |
21 | transupp.h jidctflt.c jidctfst.c jidctint.c jquant1.c jquant2.c jutils.c jmemnobs.c jaricom.c jerror.c jdatadst.c jdatasrc.c | |
22 | jmemsys.h | |
23 | jmemmgr.c | |
24 | cdjpeg.h cderror.h | |
25 | jcmaster.c jcmarker.c jcmainct.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c jcdctmgr.c jchuff.c jcsample.c jctrans.c jcinit.c jcomapi.c jcparam.c jcprepct.c | |
26 | jdmaster.c jdmarker.c jdmainct.c jdapimin.c jdapistd.c jdarith.c jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c jdsample.c jdtrans.c jdinput.c jdmerge.c jdpostct.c | |
27 | jdct.h | |
28 | jfdctflt.c jfdctfst.c jfdctint.c | |
29 | ) | |
30 | ||
31 | if(WIN32) | |
32 | target_compile_definitions(jpeg | |
33 | PRIVATE | |
34 | _CRT_SECURE_NO_WARNINGS | |
35 | ) | |
36 | endif() | |
37 | ||
38 | install(FILES ${PUBLIC_HEADERS} | |
39 | DESTINATION ${CMAKE_INSTALL_PREFIX}/include | |
40 | ) | |
41 | install(TARGETS jpeg | |
42 | RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin | |
43 | LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib | |
44 | ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib | |
45 | ) | |
46 | ||
47 | if(BUILD_EXECUTABLES) | |
48 | add_executable(cjpeg cdjpeg.c cjpeg.c rdbmp.c rdgif.c rdppm.c rdrle.c rdtarga.c rdswitch.c) | |
49 | target_link_libraries(cjpeg PRIVATE jpeg) | |
50 | ||
51 | add_executable(djpeg cdjpeg.c djpeg.c wrbmp.c wrgif.c wrppm.c wrrle.c wrtarga.c rdcolmap.c) | |
52 | target_link_libraries(djpeg PRIVATE jpeg) | |
53 | ||
54 | add_executable(jpegtran jpegtran.c cdjpeg.c rdswitch.c transupp.c) | |
55 | target_link_libraries(jpegtran PRIVATE jpeg) | |
56 | ||
57 | add_executable(rdjpgcom rdjpgcom.c) | |
58 | add_executable(wrjpgcom wrjpgcom.c) | |
59 | ||
60 | install(TARGETS cjpeg djpeg jpegtran rdjpgcom wrjpgcom | |
61 | DESTINATION ${CMAKE_INSTALL_PREFIX}/tools | |
62 | ) | |
63 | endif() |