duckstation/dep/libpng/CMakeLists.txt

40 lines
911 B
CMake

add_library(png
src/png.c
src/pngerror.c
src/pngget.c
src/pngmem.c
src/pngpread.c
src/pngread.c
src/pngrio.c
src/pngrtran.c
src/pngrutil.c
src/pngset.c
src/pngtrans.c
src/pngwio.c
src/pngwrite.c
src/pngwtran.c
src/pngwutil.c
)
if(CPU_ARCH_X64)
target_sources(png PRIVATE
src/intel/filter_sse2_intrinsics.c
src/intel/intel_init.c
)
target_compile_definitions(png PRIVATE "PNG_INTEL_SSE")
elseif(CPU_ARCH_ARM32 OR CPU_ARCH_ARM64)
target_sources(png PRIVATE
src/arm/arm_init.c
src/arm/filter_neon.S
src/arm/filter_neon_intrinsics.c
src/arm/palette_neon_intrinsics.c
)
endif()
target_link_libraries(png PRIVATE ZLIB::ZLIB)
target_include_directories(png PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
target_include_directories(png PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src")
disable_compiler_warnings_for_target(png)
add_library(PNG::PNG ALIAS png)