61 lines
1.6 KiB
Meson
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
|