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