orotool/src/meson.build

102 lines
2.6 KiB
Meson
Raw Normal View History

2020-06-20 00:15:24 +02:00
restc_cpp_dep = dependency('restc-cpp', version: '>=0.1.1',
fallback: ['restc-cpp', 'restc_cpp_dep'],
default_options: [
'restc_cpp_with_unit_tests=false',
2020-08-09 22:55:25 +01:00
'restc_cpp_log_with_boost_log=false',
2020-06-20 00:15:24 +02:00
],
)
if not get_option('with_sqlite').disabled()
sqlitecpp_dep = dependency('sqlitecpp', version: '>=3.0.0',
fallback: ['SQLiteCpp', 'sqlitecpp_dep'],
required: get_option('with_sqlite'),
)
else
sqlitecpp_dep = disabler()
endif
2020-06-23 10:58:19 +02:00
ev_dep = dependency('libev', version: '>=4.31')
threads_dep = dependency('threads')
boost_dep = dependency('boost')
base_url = get_option('base_url').strip()
if not base_url.endswith('/')
base_url = base_url + '/'
endif
conf = configuration_data()
conf.set_quoted('BASE_URL', base_url)
2020-08-10 12:44:54 +01:00
conf.set_quoted('CONFIG_FILE_PATH', get_option('prefix') / get_option('sysconfdir') / meson.project_name() + '.conf')
conf.set_quoted('DEF_SQLITE_DB_NAME', get_option('def_sqlite_db_name'))
conf.set_quoted('PROJECT_NAME', meson.project_name())
if get_option('buildtype') == 'debug'
conf.set_quoted('BUILD_PURPOSE', 'Debugging')
else
conf.set_quoted('BUILD_PURPOSE', 'Production')
endif
version_arr = meson.project_version().split('.')
conf.set('PROJECT_VERSION_MAJOR', version_arr[0])
conf.set('PROJECT_VERSION_MINOR', version_arr[1])
conf.set('PROJECT_VERSION_PATCH', version_arr[2])
conf.set('OROTOOL_WITH_SQLITE', sqlitecpp_dep.found())
project_config_file = configure_file(
input: 'config.hpp.in',
output: meson.project_name() + '_config.hpp',
configuration: conf,
)
2020-08-10 02:35:27 +01:00
gnulib_conf = configuration_data()
gnulib_conf.set('_GL_ATTRIBUTE_CONST', '__attribute__ ((__const__))')
configure_file(output : 'config.h', configuration : gnulib_conf)
backend_libs = [
sqlitecpp_dep,
]
backends_selected = false
foreach backend_lib : backend_libs
backends_selected = backends_selected or backend_lib.found()
endforeach
if not backends_selected
error('No backend was enabled or none of the enabled backend dependencies could be located')
endif
lib_deps = [
restc_cpp_dep,
ev_dep,
threads_dep,
boost_dep,
] + backend_libs
2020-06-20 00:15:24 +02:00
executable(meson.project_name(),
'main.cpp',
'ini_file.cpp',
2020-06-20 01:27:47 +02:00
'oro/datatypes.cpp',
'oro/api.cpp',
'oro/private/dateconv.cpp',
2020-06-22 20:53:56 +02:00
'oro/items.cpp',
2020-06-23 10:19:02 +02:00
'oro/shops.cpp',
'evloop.cpp',
'eventia/eventia.cpp',
'eventia/timer.cpp',
'timer_base.cpp',
2020-08-10 02:34:09 +01:00
'oro/originsdb.cpp',
2020-08-10 02:35:27 +01:00
'gnulib/lib/base64.c',
2020-08-10 02:47:55 +01:00
'base64.cpp',
'app_config.cpp',
'oro/private/tiger.c',
'oro/private/tiger.cpp',
'eventia/signal.cpp',
'eventia/event.cpp',
'timer_oro_api.cpp',
project_config_file,
2020-06-20 00:15:24 +02:00
install: true,
dependencies: lib_deps,
include_directories: [
date_inc,
duckhandy_inc,
magic_enum_inc,
],
cpp_args: ['-DEV_USE_STDEXCEPT'],
2020-06-20 00:15:24 +02:00
)