mirror of
https://github.com/cuberite/SQLiteCpp.git
synced 2025-08-07 19:26:10 -04:00
Fixed meson build thanks to @ninjaoflight
This commit is contained in:
parent
6110463dfe
commit
1eca00cb01
43
meson.build
43
meson.build
@ -65,6 +65,8 @@ sqlitecpp_deps = [
|
||||
]
|
||||
## used to override the default sqlitecpp options like cpp standard
|
||||
sqlitecpp_opts = []
|
||||
## used to set required macros when using sqlitecpp
|
||||
sqlitecpp_dep_args = []
|
||||
|
||||
## tests
|
||||
|
||||
@ -97,11 +99,6 @@ if host_machine.system() == 'windows'
|
||||
sqlitecpp_opts += [
|
||||
'cpp_std=c++14',
|
||||
]
|
||||
# check that we are not trying to build as dynamic library
|
||||
if get_option('default_library') != 'shared'
|
||||
message('warning: SQLiteCpp does not support shared library on Windows, the library will be built as static')
|
||||
endif
|
||||
|
||||
endif
|
||||
# Options relative to SQLite and SQLiteC++ functions
|
||||
|
||||
@ -199,17 +196,21 @@ if get_option('b_coverage')
|
||||
]
|
||||
endif
|
||||
|
||||
## Workarround for windows: if building on windows we will build the library as static
|
||||
if host_machine.system() == 'windows'
|
||||
libsqlitecpp = static_library(
|
||||
'sqlitecpp',
|
||||
sqlitecpp_srcs,
|
||||
include_directories: sqlitecpp_incl,
|
||||
cpp_args: sqlitecpp_args,
|
||||
dependencies: sqlitecpp_deps,
|
||||
# override the default options
|
||||
override_options: sqlitecpp_opts,)
|
||||
else
|
||||
sqlitecpp_static_args = sqlitecpp_args
|
||||
sqlitecpp_static_dep_args = sqlitecpp_dep_args
|
||||
# if windows and shared library
|
||||
if host_machine.system() == 'windows' and get_option('default_library') == 'shared'
|
||||
# compile with SQLITECPP_COMPILE_DLL and SQLITECPP_DLL_EXPORT=1
|
||||
sqlitecpp_args += [
|
||||
'-DSQLITECPP_COMPILE_DLL',
|
||||
'-DSQLITECPP_DLL_EXPORT',
|
||||
]
|
||||
sqlitecpp_dep_args += [
|
||||
# we just need to define SQLITECPP_COMPILE_DLL
|
||||
'-DSQLITECPP_COMPILE_DLL',
|
||||
]
|
||||
endif
|
||||
|
||||
libsqlitecpp = library(
|
||||
'sqlitecpp',
|
||||
sqlitecpp_srcs,
|
||||
@ -221,11 +222,10 @@ else
|
||||
install: true,
|
||||
# API version for SQLiteCpp shared library.
|
||||
version: '0',)
|
||||
endif
|
||||
|
||||
if get_option('SQLITECPP_BUILD_TESTS')
|
||||
# for the unit tests we need to link against a static version of SQLiteCpp
|
||||
if host_machine.system() == 'windows' or get_option('default_library') == 'static'
|
||||
if get_option('default_library') == 'static'
|
||||
# we do not need to recomplile the library
|
||||
libsqlitecpp_static = libsqlitecpp
|
||||
else
|
||||
@ -233,7 +233,7 @@ if get_option('SQLITECPP_BUILD_TESTS')
|
||||
'sqlitecpp_static',
|
||||
sqlitecpp_srcs,
|
||||
include_directories: sqlitecpp_incl,
|
||||
cpp_args: sqlitecpp_args,
|
||||
cpp_args: sqlitecpp_static_args,
|
||||
dependencies: sqlitecpp_deps,
|
||||
# override the default options
|
||||
override_options: sqlitecpp_opts,)
|
||||
@ -247,13 +247,14 @@ install_subdir(
|
||||
sqlitecpp_dep = declare_dependency(
|
||||
include_directories: sqlitecpp_incl,
|
||||
link_with: libsqlitecpp,
|
||||
compile_args: sqlitecpp_dep_args,
|
||||
)
|
||||
if get_option('SQLITECPP_BUILD_TESTS')
|
||||
## make the dependency static so the unit tests can link against it
|
||||
## (mainly for windows as the symbols are not exported by default)
|
||||
sqlitecpp_static_dep = declare_dependency(
|
||||
include_directories: sqlitecpp_incl,
|
||||
link_with: libsqlitecpp_static,
|
||||
compile_args: sqlitecpp_static_dep_args,
|
||||
)
|
||||
endif
|
||||
|
||||
@ -264,7 +265,7 @@ if get_option('SQLITECPP_BUILD_TESTS')
|
||||
fallback: ['gtest', 'gtest_main_dep'])
|
||||
sqlitecpp_test_dependencies = [
|
||||
gtest_dep,
|
||||
sqlitecpp_static_dep,
|
||||
sqlitecpp_dep,
|
||||
sqlite3_dep,
|
||||
]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user