Skip to content
Snippets Groups Projects

Add wraps for all dependencies

Merged Nicolas Werner requested to merge wraps into master
+ 60
12
project('coeurl', 'cpp',
version : '0.1',
default_options : ['warning_level=3',
'cpp_std=c++17'])
'cpp_std=c++17'])
deps = [
dependency('threads', required: true),
dependency('libevent_core', required: true),
dependency('libcurl', required: true),
dependency('spdlog', required: true)
dependency('threads', required: true),
dependency('spdlog', required: true)
]
libcurl_dep = dependency('libcurl', required: get_option('wrap_mode') == 'nofallback')
libevent_dep = dependency('libevent_core', required: get_option('wrap_mode') == 'nofallback',)
if target_machine.system() == 'windows'
deps += dependency('libevent_windows', required: true)
libevent_threads_dep = dependency('libevent_windows', required: get_option('wrap_mode') == 'nofallback',)
else
deps += dependency('libevent_pthreads', required: true)
libevent_threads_dep = dependency('libevent_pthreads', required: get_option('wrap_mode') == 'nofallback',)
endif
if (not libevent_dep.found()
or not libevent_threads_dep.found()
or get_option('wrap_mode') == 'forcefallback'
or 'libevent' in get_option('force_fallback_for'))
cmake = import('cmake')
libevent_options = cmake.subproject_options()
libevent_options.add_cmake_defines({
'CMAKE_C_FLAGS': '-fPIC',
'EVENT_LIBRARY_TYPE': 'STATIC',
'BUILD_SHARED_LIBS': false,
'BUILD_SHARED_AND_STATIC_LIBS': false,
'EVENT__DISABLE_OPENSSL': true,
'EVENT__DISABLE_BENCHMARK': true,
})
libevent_options.set_override_option('werror', 'false')
libevent_options.set_override_option('warning_level', '0')
libevent_proj = cmake.subproject('libevent', options: libevent_options)
libevent_dep = libevent_proj.dependency('event_core_static')
if target_machine.system() == 'windows'
# the cmake project links the thread support into the library directly...
libevent_threads_dep = dependency('', required : false)
else
libevent_threads_dep = libevent_proj.dependency('event_pthreads_static')
endif
endif
deps += [libevent_dep, libevent_threads_dep]
if (not libcurl_dep.found()
or get_option('wrap_mode') == 'forcefallback'
or 'libcurl' in get_option('force_fallback_for'))
cmake = import('cmake')
libcurl_options = cmake.subproject_options()
libcurl_options.add_cmake_defines({
'CMAKE_C_FLAGS': '-fPIC',
'BUILD_SHARED_LIBS': false,
'BUILD_SHARED_AND_STATIC_LIBS': false,
'HTTP_ONLY': true,
})
libcurl_options.set_override_option('werror', 'false')
libcurl_options.set_override_option('warning_level', '0')
libcurl_proj = cmake.subproject('curl', options: libcurl_options)
libcurl_dep = libcurl_proj.dependency('libcurl')
endif
deps += [libcurl_dep]
include = include_directories('include')
lib = library('coeurl', ['lib/client.cpp', 'lib/request.cpp'],
@@ -37,11 +85,11 @@ endif
pkg = import('pkgconfig')
pkg.generate(lib,
libraries : [lib],
version : meson.project_version(),
filebase : meson.project_name(),
description : 'Simple library to do http requests asynchronously via CURL in C++.',
url : 'https://nheko.im/nheko-reborn/cocurl')
libraries : [lib],
version : meson.project_version(),
filebase : meson.project_name(),
description : 'Simple library to do http requests asynchronously via CURL in C++.',
url : 'https://nheko.im/nheko-reborn/cocurl')
# No idea how to export working cmake config files, so don't do that for now
#cmake = import('cmake')
Loading