mirror of
https://github.com/DaveGamble/cJSON.git
synced 2024-12-26 12:41:03 +08:00
59 lines
1.4 KiB
Meson
59 lines
1.4 KiB
Meson
project('cJSON', 'c', default_options: ['c_std=c89'])
|
|
version = '1.6.0'
|
|
soversion = '0'
|
|
|
|
compiler = meson.get_compiler('c')
|
|
|
|
compiler_flags = []
|
|
|
|
if (compiler.get_id() == 'clang') or (compiler.get_id() == 'gcc')
|
|
compiler_flags += [
|
|
'-pedantic',
|
|
'-Wall',
|
|
'-Wextra',
|
|
'-Werror',
|
|
'-Wstrict-prototypes',
|
|
'-Wwrite-strings',
|
|
'-Wshadow',
|
|
'-Winit-self',
|
|
'-Wcast-align',
|
|
'-Wformat=2',
|
|
'-Wmissing-prototypes',
|
|
'-Wstrict-overflow=2',
|
|
'-Wcast-qual',
|
|
'-Wundef',
|
|
'-Wswitch-default',
|
|
'-Wconversion',
|
|
'-Wc++-compat',
|
|
'-fstack-protector-strong',
|
|
'-Wcomma',
|
|
'-Wdouble-promotion',
|
|
'-Wparentheses',
|
|
'-Wformat-overflow',
|
|
'-Wunused-macros',
|
|
'-Wmissing-variable-declarations',
|
|
'-Wused-but-marked-unused',
|
|
'-Wswitch-enum'
|
|
]
|
|
endif
|
|
|
|
foreach flag : compiler_flags
|
|
if compiler.has_argument(flag)
|
|
add_project_arguments(flag, language: 'c')
|
|
endif
|
|
endforeach
|
|
|
|
math = compiler.find_library('m', required: false)
|
|
|
|
cjson = shared_library('cjson', 'cJSON.c', dependencies: math, version: version, soversion: soversion, install: true)
|
|
if get_option('enable_cjson_utils')
|
|
cjson_utils = shared_library('cjson_utils', 'cJSON_Utils.c', link_with: cjson, version: version, soversion: soversion, install: true)
|
|
endif
|
|
|
|
if get_option('enable_cjson_tests')
|
|
cjson_test = executable('cjson_test', 'test.c', link_with: cjson)
|
|
test('cjson_test', cjson_test)
|
|
endif
|
|
|
|
subdir('tests')
|