weston/shared/meson.build
Pekka Paalanen 4f5e360180 build: simplify include_directories
Define common_inc which includes both public_inc and the project root directory.
The project root directory will allow access to config.h and all the shared/
headers.

Replacing all custom '.', '..', '../..', '../shared' etc. include paths with
common_inc reduces clutter in the target definitions and enforces the common
 #include directive style, as e.g. including shared/ headers without the
subdirectory name no longer works.

Unfortunately this does not prevent one from using private libweston headers
with the usual include pattern for public headers.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2019-10-04 17:14:22 +03:00

85 lines
2.0 KiB
Meson

srcs_libshared = [
'config-parser.c',
'option-parser.c',
'file-util.c',
'os-compatibility.c',
'xalloc.c',
]
deps_libshared = dep_wayland_client
lib_libshared = static_library(
'shared',
srcs_libshared,
include_directories: common_inc,
dependencies: deps_libshared,
pic: true,
install: false
)
dep_libshared = declare_dependency(
link_with: lib_libshared,
include_directories: public_inc,
dependencies: deps_libshared
)
srcs_cairo_shared = [
'image-loader.c',
'cairo-util.c',
'frame.c',
]
deps_cairo_shared = [
dep_libshared,
dependency('cairo'),
dependency('libpng'),
dep_pixman,
dep_libm,
]
dep_pango = dependency('pango', required: false)
dep_pangocairo = dependency('pangocairo', required: false)
dep_glib = dependency('glib-2.0', version: '>= 2.36', required: false)
if dep_pango.found() and dep_pangocairo.found() and dep_glib.found()
deps_cairo_shared += [ dep_pango, dep_pangocairo, dep_glib ]
config_h.set('HAVE_PANGO', '1')
endif
if get_option('image-jpeg')
dep_libjpeg = dependency('libjpeg', required: false)
if not dep_libjpeg.found()
dep_libjpeg = cc.find_library('jpeg', required: false)
endif
if not dep_libjpeg.found()
error('JPEG image loading requires libjpeg or jpeg, neither was found. Or, you can use \'-Dimage-jpeg=false\'.')
endif
deps_cairo_shared += dep_libjpeg
config_h.set('HAVE_JPEG', '1')
endif
if get_option('image-webp')
dep_webp = dependency('libwebp', required: false)
if not dep_webp.found()
error('WEBP image loading requires libwebp which was not found. Or, you can use \'-Dimage-webp=false\'.')
endif
deps_cairo_shared += dep_webp
config_h.set('HAVE_WEBP', '1')
endif
lib_cairo_shared = static_library(
'cairo-shared',
srcs_cairo_shared,
include_directories: common_inc,
dependencies: deps_cairo_shared,
install: false
)
dep_lib_cairo_shared = declare_dependency(
link_with: lib_cairo_shared,
dependencies: deps_cairo_shared
)
dep_matrix_c = declare_dependency(
sources: 'matrix.c',
include_directories: public_inc,
dependencies: dep_libm
)