orotool/subprojects/packagefiles/SQLiteCpp/meson.build

61 lines
1.6 KiB
Meson

project('SQLiteCpp', 'cpp',
version: '3.1.1',
meson_version: '>=0.49.2',
default_options: ['cpp_std=c++11'],
)
sqlite_dep = dependency('sqlite3', version: '>=3.32.1')
pub_incdir = include_directories('include')
compiler_opts = []
if get_option('sqlite_enable_column_metadata')
compiler_opts += ['-DSQLITE_ENABLE_COLUMN_METADATA']
endif
if get_option('sqlite_enable_assert_handler')
compiler_opts += ['SQLITECPP_ENABLE_ASSERT_HANDLER']
endif
if get_option('sqlite_has_codec')
compiler_opts += ['SQLITE_HAS_CODEC']
endif
if get_option('sqlite_use_legacy_struct')
compiler_opts += ['SQLITE_USE_LEGACY_STRUCT']
endif
sqlitecpp_target = library(meson.project_name(),
'src/Backup.cpp',
'src/Column.cpp',
'src/Database.cpp',
'src/Exception.cpp',
'src/Statement.cpp',
'src/Transaction.cpp',
install: (not meson.is_subproject() or get_option('default_library')=='shared'),
include_directories: [pub_incdir],
dependencies: [sqlite_dep],
c_args: compiler_opts,
cpp_args: compiler_opts,
)
sqlitecpp_dep = declare_dependency(
link_with: sqlitecpp_target,
include_directories: pub_incdir,
compile_args: compiler_opts,
dependencies: sqlite_dep.partial_dependency(includes: true),
)
if not meson.is_subproject()
install_headers(
'include/SQLiteCpp/Assertion.h',
'include/SQLiteCpp/Backup.h',
'include/SQLiteCpp/Column.h',
'include/SQLiteCpp/Database.h',
'include/SQLiteCpp/Exception.h',
'include/SQLiteCpp/ExecuteMany.h',
'include/SQLiteCpp/SQLiteCpp.h',
'include/SQLiteCpp/Statement.h',
'include/SQLiteCpp/Transaction.h',
'include/SQLiteCpp/Utils.h',
'include/SQLiteCpp/VariadicBind.h',
subdir: meson.project_name(),
)
endif