|
Packit |
bedeea |
project('nautilus-sendto', 'c',
|
|
Packit |
bedeea |
version: '3.8.6',
|
|
Packit |
bedeea |
default_options: [
|
|
Packit |
bedeea |
'buildtype=debugoptimized',
|
|
Packit |
bedeea |
'warning_level=1',
|
|
Packit |
bedeea |
],
|
|
Packit |
bedeea |
meson_version : '>= 0.40.1',
|
|
Packit |
bedeea |
license: 'GPLv2.0+')
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
i18n = import('i18n')
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
# Requirements
|
|
Packit |
bedeea |
gio_req = '>= 2.25.9'
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
# Dependencies
|
|
Packit |
bedeea |
gio_dep = dependency('gio-2.0', version : gio_req)
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
nautilus_sendto_deps = [gio_dep]
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
# directories
|
|
Packit |
bedeea |
localedir = join_paths(get_option('prefix'), get_option('datadir'), 'locale')
|
|
Packit |
bedeea |
nst_prefix = get_option('prefix')
|
|
Packit |
bedeea |
nst_bindir = join_paths(nst_prefix, get_option('bindir'))
|
|
Packit |
bedeea |
nst_datadir = join_paths(nst_prefix, get_option('datadir'))
|
|
Packit |
bedeea |
nst_mandir = join_paths(nst_prefix, get_option('mandir'))
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
# Config.h
|
|
Packit |
bedeea |
config_h = configuration_data()
|
|
Packit |
bedeea |
config_h.set_quoted('GETTEXT_PACKAGE', meson.project_name())
|
|
Packit |
bedeea |
config_h.set_quoted('PACKAGE_NAME', meson.project_name())
|
|
Packit |
bedeea |
config_h.set_quoted('PACKAGE_VERSION', meson.project_version())
|
|
Packit |
bedeea |
config_h.set_quoted('LOCALEDIR', localedir)
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
configure_file(
|
|
Packit |
bedeea |
output: 'config.h',
|
|
Packit |
bedeea |
configuration: config_h
|
|
Packit |
bedeea |
)
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
config_inc = include_directories('.')
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
# project-wide cflags
|
|
Packit |
bedeea |
add_project_arguments('-D_GNU_SOURCE', language: 'c')
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
# common warning flags
|
|
Packit |
bedeea |
cc = meson.get_compiler('c')
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
# Compiler flags
|
|
Packit |
bedeea |
if cc.get_id() == 'msvc'
|
|
Packit |
bedeea |
# Compiler options taken from msvc_recommended_pragmas.h
|
|
Packit |
bedeea |
# in GLib, based on _Win32_Programming_ by Rector and Newcomer
|
|
Packit |
bedeea |
test_cflags = [
|
|
Packit |
bedeea |
'-we4002', # too many actual parameters for macro
|
|
Packit |
bedeea |
'-we4003', # not enough actual parameters for macro
|
|
Packit |
bedeea |
'-w14010', # single-line comment contains line-continuation character
|
|
Packit |
bedeea |
'-we4013', # 'function' undefined; assuming extern returning int
|
|
Packit |
bedeea |
'-w14016', # no function return type; using int as default
|
|
Packit |
bedeea |
'-we4020', # too many actual parameters
|
|
Packit |
bedeea |
'-we4021', # too few actual parameters
|
|
Packit |
bedeea |
'-we4027', # function declared without formal parameter list
|
|
Packit |
bedeea |
'-we4029', # declared formal parameter list different from definition
|
|
Packit |
bedeea |
'-we4033', # 'function' must return a value
|
|
Packit |
bedeea |
'-we4035', # 'function' : no return value
|
|
Packit |
bedeea |
'-we4045', # array bounds overflow
|
|
Packit |
bedeea |
'-we4047', # different levels of indirection
|
|
Packit |
bedeea |
'-we4049', # terminating line number emission
|
|
Packit |
bedeea |
'-we4053', # an expression of type void was used as an operand
|
|
Packit |
bedeea |
'-we4071', # no function prototype given
|
|
Packit |
bedeea |
'-we4819', # the file contains a character that cannot be represented in the current code page
|
|
Packit |
bedeea |
]
|
|
Packit |
bedeea |
elif cc.get_id() == 'gcc' or cc.get_id() == 'clang'
|
|
Packit |
bedeea |
test_cflags = [
|
|
Packit |
bedeea |
'-fno-strict-aliasing',
|
|
Packit |
bedeea |
'-Wpointer-arith',
|
|
Packit |
bedeea |
'-Wmissing-declarations',
|
|
Packit |
bedeea |
'-Wimplicit-function-declaration',
|
|
Packit |
bedeea |
'-Wformat=2',
|
|
Packit |
bedeea |
'-Wformat-nonliteral',
|
|
Packit |
bedeea |
'-Wformat-security',
|
|
Packit |
bedeea |
'-Wstrict-prototypes',
|
|
Packit |
bedeea |
'-Wmissing-prototypes',
|
|
Packit |
bedeea |
'-Wnested-externs',
|
|
Packit |
bedeea |
'-Wold-style-definition',
|
|
Packit |
bedeea |
'-Wundef',
|
|
Packit |
bedeea |
'-Wunused',
|
|
Packit |
bedeea |
'-Wcast-align',
|
|
Packit |
bedeea |
'-Wmissing-noreturn',
|
|
Packit |
bedeea |
'-Wmissing-format-attribute',
|
|
Packit |
bedeea |
'-Wmissing-include-dirs',
|
|
Packit |
bedeea |
'-Wlogical-op',
|
|
Packit |
bedeea |
'-Wno-uninitialized',
|
|
Packit |
bedeea |
'-Wno-shadow',
|
|
Packit |
bedeea |
'-Wno-int-conversion',
|
|
Packit |
bedeea |
'-Wno-discarded-qualifiers',
|
|
Packit |
bedeea |
'-Werror=redundant-decls',
|
|
Packit |
bedeea |
'-Werror=implicit',
|
|
Packit |
bedeea |
'-Werror=nonnull',
|
|
Packit |
bedeea |
'-Werror=init-self',
|
|
Packit |
bedeea |
'-Werror=main',
|
|
Packit |
bedeea |
'-Werror=missing-braces',
|
|
Packit |
bedeea |
'-Werror=sequence-point',
|
|
Packit |
bedeea |
'-Werror=return-type',
|
|
Packit |
bedeea |
'-Werror=trigraphs',
|
|
Packit |
bedeea |
'-Werror=array-bounds',
|
|
Packit |
bedeea |
'-Werror=write-strings',
|
|
Packit |
bedeea |
'-Werror=address',
|
|
Packit |
bedeea |
'-Werror=int-to-pointer-cast',
|
|
Packit |
bedeea |
'-Werror=pointer-to-int-cast',
|
|
Packit |
bedeea |
'-Werror=empty-body',
|
|
Packit |
bedeea |
'-Werror=write-strings',
|
|
Packit |
bedeea |
]
|
|
Packit |
bedeea |
else
|
|
Packit |
bedeea |
test_cflags = []
|
|
Packit |
bedeea |
endif
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
extra_warning_cflags = []
|
|
Packit |
bedeea |
foreach cflag: test_cflags
|
|
Packit |
bedeea |
if cc.has_argument(cflag)
|
|
Packit |
bedeea |
extra_warning_cflags += [ cflag ]
|
|
Packit |
bedeea |
endif
|
|
Packit |
bedeea |
endforeach
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
# man page
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
install_data(
|
|
Packit |
bedeea |
'nautilus-sendto.1',
|
|
Packit |
bedeea |
install_dir: join_paths(nst_mandir, 'man1')
|
|
Packit |
bedeea |
)
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
# subdirs
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
subdir('src')
|
|
Packit |
bedeea |
subdir('po')
|
|
Packit |
bedeea |
|
|
Packit |
bedeea |
# config.h
|
|
Packit |
bedeea |
configure_file(output: 'config.h', configuration: config_h)
|