File meson.build of Package lodepng
project('lodepng', 'cpp', version: '0.0.1')
ver = meson.project_version()
pkgconfig = import('pkgconfig')
cc = meson.get_compiler('cpp')
sdl2 = cc.find_library('SDL2', required : true)
# Define the static and shared libraries for lodepng
liblodepng_static = static_library('lodepng', 'lodepng.cpp',
dependencies: [],
install: true,
)
liblodepng_shared = shared_library('lodepng', 'lodepng.cpp',
version: ver,
install: true,
)
# Define pkg-config files for the shared libraries
pkgconfig.generate(
name: 'lodepng',
description: 'PNG encoder and decoder in C and C++',
version: ver,
libraries: [liblodepng_shared],
)
# Define the static and shared libraries for lodepng_util
liblodepng_util_static = static_library('lodepng_util', 'lodepng_util.cpp',
dependencies: [],
link_with: [liblodepng_static],
install: true,
)
liblodepng_util_shared = shared_library('lodepng_util', 'lodepng_util.cpp',
version: ver,
link_with: [liblodepng_shared],
install: true,
)
# Define pkg-config files for the shared libraries
pkgconfig.generate(
name: 'lodepng_util',
description: 'PNG encoder and decoder in C and C++',
version: ver,
libraries: [liblodepng_util_shared],
)
# Install header files in the same directory as meson.build
install_headers('lodepng.h')
install_headers('lodepng_util.h')
# Define the test executable
test_executable = executable(
'unittest', 'lodepng_unittest.cpp',
dependencies: [],
install: false,
link_with: [liblodepng_static, liblodepng_util_static]
)
pngdetail_executable = executable(
'pngdetail', 'pngdetail.cpp',
dependencies: [],
install: true,
link_with: [liblodepng_shared, liblodepng_util_shared]
)
showpng_executable = executable(
'showpng', 'examples/example_sdl.cpp',
dependencies: [sdl2],
install: true,
link_with: [liblodepng_shared]
)
benchmark_executable = executable(
'lodepng_benchmark', 'lodepng_benchmark.cpp',
dependencies: [sdl2],
install: false,
link_with: [liblodepng_shared]
)