niotso/deps/libjpeg-turbo/CMakeLists.txt

33 lines
1.4 KiB
CMake

cmake_minimum_required(VERSION 2.6...3.29)
project(libjpeg-turbo)
add_subdirectory(simd)
set(JPEG_SOURCES
jcomapi.c jdapimin.c jdapistd.c jdatasrc.c jdcoefct.c jdcolor.c
jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c jdmerge.c
jdphuff.c jdpostct.c jdsample.c jerror.c jidctflt.c jidctfst.c jidctint.c
jidctred.c jquant1.c jquant2.c jutils.c jmemmgr.c jmemnobs.c jaricom.c jdarith.c
)
file(GLOB_RECURSE JPEG_HEADERS *.h)
#NOTE-jip: Filehandler somehow can't find jpegturbo_SOURCE_DIR, so we expose another variable so it can include the headers
set(jpeg_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE INTERNAL "")
#TODO-jip: What if we want 32bit on 64 bit system?
if(CMAKE_SIZEOF_VOID_P EQUAL 8) # 64 bits
message("libjpeg-turbo building for 64 bit.")
set(JPEG_SOURCES ${JPEG_SOURCES} simd/jsimd_x86_64.c)
add_definitions(-DWIN64 -D__x86_64__ -DPIC)
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) # 32 bits
message("libjpeg-turbo building for 32 bit.")
set(JPEG_SOURCES ${JPEG_SOURCES} simd/jsimd_i386.c)
endif()
set_source_files_properties(${SIMD_OBJS} PROPERTIES GENERATED 1)
add_library(jpegturbo STATIC ${JPEG_SOURCES} ${JPEG_HEADERS} ${SIMD_OBJS}) # remove static, cmake should take care of this
target_include_directories(jpegturbo PUBLIC ${JPEG_HEADERS})
add_dependencies(jpegturbo jpegturbo_simd)
set_target_properties(jpegturbo PROPERTIES FOLDER deps)