| local dependency = require 'dependency' |
| libpng = dependency.github('glennrp/libpng', 'libpng16') |
| zlib = dependency.github('madler/zlib', '04f42ceca40f73e2978b50e93806c2a18c1281fc') |
| |
| project 'libpng' |
| do |
| kind 'StaticLib' |
| language 'C++' |
| cppdialect 'C++17' |
| toolset 'clang' |
| targetdir '%{cfg.system}/cache/bin/%{cfg.buildcfg}/' |
| objdir '%{cfg.system}/cache/obj/%{cfg.buildcfg}/' |
| rtti "Off" |
| exceptionhandling "Off" |
| os.copyfile(libpng .. '/scripts/pnglibconf.h.prebuilt', libpng .. '/pnglibconf.h') |
| includedirs { |
| './', |
| libpng, |
| zlib, |
| } |
| files { |
| libpng .. '/png.c', |
| libpng .. '/pngerror.c', |
| libpng .. '/pngget.c', |
| libpng .. '/pngmem.c', |
| libpng .. '/pngpread.c', |
| libpng .. '/pngread.c', |
| libpng .. '/pngrio.c', |
| libpng .. '/pngrtran.c', |
| libpng .. '/pngrutil.c', |
| libpng .. '/pngset.c', |
| libpng .. '/pngtrans.c', |
| libpng .. '/pngwio.c', |
| libpng .. '/pngwrite.c', |
| libpng .. '/pngwtran.c', |
| libpng .. '/pngwutil.c' |
| } |
| |
| do |
| files { |
| libpng .. '/arm/arm_init.c', |
| libpng .. '/arm/filter_neon_intrinsics.c', |
| libpng .. '/arm/palette_neon_intrinsics.c' |
| } |
| end |
| |
| filter 'system:windows' |
| do |
| architecture 'x64' |
| staticruntime "on" -- Match Skia's /MT flag for link compatibility |
| runtime "Release" -- Use /MT even in debug (/MTd is incompatible with Skia) |
| end |
| end |
| |
| project 'zlib' |
| do |
| kind 'StaticLib' |
| language 'C++' |
| cppdialect 'C++17' |
| toolset 'clang' |
| targetdir '%{cfg.system}/cache/bin/%{cfg.buildcfg}/' |
| objdir '%{cfg.system}/cache/obj/%{cfg.buildcfg}/' |
| rtti "Off" |
| exceptionhandling "Off" |
| defines {'ZLIB_IMPLEMENTATION'} |
| includedirs { |
| zlib |
| } |
| files { |
| zlib .. '/adler32.c', |
| zlib .. '/compress.c', |
| zlib .. '/crc32.c', |
| zlib .. '/deflate.c', |
| zlib .. '/gzclose.c', |
| zlib .. '/gzlib.c', |
| zlib .. '/gzread.c', |
| zlib .. '/gzwrite.c', |
| zlib .. '/infback.c', |
| zlib .. '/inffast.c', |
| zlib .. '/inftrees.c', |
| zlib .. '/trees.c', |
| zlib .. '/uncompr.c', |
| zlib .. '/zutil.c', |
| zlib .. '/inflate.c' |
| } |
| |
| filter 'system:windows' |
| do |
| architecture 'x64' |
| staticruntime "on" -- Match Skia's /MT flag for link compatibility |
| runtime "Release" -- Use /MT even in debug (/MTd is incompatible with Skia) |
| end |
| |
| filter 'system:not windows' |
| do |
| defines {'HAVE_UNISTD_H'} |
| end |
| end |