mirror of
https://github.com/simtactics/niotso.git
synced 2025-03-22 10:52:20 +00:00
33 lines
1.4 KiB
CMake
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)
|