mirror of
https://github.com/openharmony/third_party_libjpeg.git
synced 2026-07-01 06:20:24 -04:00
107 lines
2.6 KiB
CMake
107 lines
2.6 KiB
CMake
cmake_minimum_required(VERSION 3.16.5)
|
|
|
|
set(LibjpegSrc "${PROJECT_SOURCE_DIR}/third_party/libjpeg")
|
|
|
|
include_directories(${LibjpegSrc})
|
|
|
|
include(CheckIncludeFile)
|
|
include(CheckSymbolExists)
|
|
include(CheckCSourceCompiles)
|
|
|
|
check_include_file(stddef.h HAVE_STDDEF_H)
|
|
check_include_file(stdlib.h HAVE_STDLIB_H)
|
|
check_include_file(string.h HAVE_STRING_H)
|
|
check_symbol_exists(size_t stddef.h stdlib.h stdio.h HAVE_ANSI_SIZE_T)
|
|
check_symbol_exists(setmode io.h USE_SETMODE)
|
|
check_c_source_compiles(
|
|
"
|
|
void f()
|
|
{
|
|
char x[ (char)0xff ]; /* x[-1] if signed */
|
|
}
|
|
"
|
|
CHAR_IS_UNSIGNED)
|
|
|
|
check_c_source_compiles(
|
|
"
|
|
void f()
|
|
{
|
|
char x[ ((signed char)0xff) >> 1 ]; /* x[-1] if signed */
|
|
}
|
|
"
|
|
RIGHT_SHIFT_IS_UNSIGNED)
|
|
|
|
if(NOT HAVE_STRING_H)
|
|
set(NEED_BSD_STRINGS TRUE)
|
|
else()
|
|
set(NEED_BSD_STRINGS FALSE)
|
|
endif()
|
|
|
|
if(NOT HAVE_ANSI_SIZE_T)
|
|
set(NEED_SYS_TYPES_H TRUE)
|
|
else()
|
|
set(NEED_SYS_TYPES_H FALSE)
|
|
endif()
|
|
|
|
configure_file(${LibjpegSrc}/jconfig.txt ${LibjpegSrc}/jconfig.h)
|
|
|
|
add_library(libjpeg STATIC
|
|
${LibjpegSrc}/cdjpeg.c
|
|
${LibjpegSrc}/jaricom.c
|
|
${LibjpegSrc}/jcapimin.c
|
|
${LibjpegSrc}/jcapistd.c
|
|
${LibjpegSrc}/jcarith.c
|
|
${LibjpegSrc}/jccoefct.c
|
|
${LibjpegSrc}/jccolor.c
|
|
${LibjpegSrc}/jcdctmgr.c
|
|
${LibjpegSrc}/jchuff.c
|
|
${LibjpegSrc}/jcinit.c
|
|
${LibjpegSrc}/jcmainct.c
|
|
${LibjpegSrc}/jcmarker.c
|
|
${LibjpegSrc}/jcmaster.c
|
|
${LibjpegSrc}/jcomapi.c
|
|
${LibjpegSrc}/jcparam.c
|
|
${LibjpegSrc}/jcprepct.c
|
|
${LibjpegSrc}/jcsample.c
|
|
${LibjpegSrc}/jctrans.c
|
|
${LibjpegSrc}/jdapimin.c
|
|
${LibjpegSrc}/jdapistd.c
|
|
${LibjpegSrc}/jdarith.c
|
|
${LibjpegSrc}/jdatadst.c
|
|
${LibjpegSrc}/jdatasrc.c
|
|
${LibjpegSrc}/jdcoefct.c
|
|
${LibjpegSrc}/jdcolor.c
|
|
${LibjpegSrc}/jddctmgr.c
|
|
${LibjpegSrc}/jdhuff.c
|
|
${LibjpegSrc}/jdinput.c
|
|
${LibjpegSrc}/jdmainct.c
|
|
${LibjpegSrc}/jdmarker.c
|
|
${LibjpegSrc}/jdmaster.c
|
|
${LibjpegSrc}/jdmerge.c
|
|
${LibjpegSrc}/jdpostct.c
|
|
${LibjpegSrc}/jdsample.c
|
|
${LibjpegSrc}/jdtrans.c
|
|
${LibjpegSrc}/jerror.c
|
|
${LibjpegSrc}/jfdctflt.c
|
|
${LibjpegSrc}/jfdctfst.c
|
|
${LibjpegSrc}/jfdctint.c
|
|
${LibjpegSrc}/jidctflt.c
|
|
${LibjpegSrc}/jidctfst.c
|
|
${LibjpegSrc}/jidctint.c
|
|
${LibjpegSrc}/jmemansi.c
|
|
${LibjpegSrc}/jmemmgr.c
|
|
${LibjpegSrc}/jquant1.c
|
|
${LibjpegSrc}/jquant2.c
|
|
${LibjpegSrc}/jutils.c
|
|
${LibjpegSrc}/rdbmp.c
|
|
${LibjpegSrc}/rdcolmap.c
|
|
${LibjpegSrc}/rdgif.c
|
|
${LibjpegSrc}/rdppm.c
|
|
${LibjpegSrc}/rdrle.c
|
|
${LibjpegSrc}/rdswitch.c
|
|
${LibjpegSrc}/rdtarga.c
|
|
${LibjpegSrc}/transupp.c
|
|
)
|
|
|
|
target_include_directories(libjpeg PUBLIC ${LibjpegSrc})
|