You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.0 KiB
71 lines
2.0 KiB
project('FeatherMC', ['c', 'cpp'], version : '0.0', meson_version : '>= 0.55', default_options : [ |
|
'warning_level=2', |
|
'backend_startup_project=FeatherMC' |
|
]) |
|
|
|
add_project_arguments('-DNOMINMAX', language : 'cpp') |
|
|
|
feather_compiler = meson.get_compiler('cpp') |
|
feather_platform = target_machine.system() |
|
feather_msvc = feather_compiler.get_id() == 'msvc' |
|
feather_cpp_std = feather_msvc ? 'c++latest' : 'c++17' |
|
|
|
if feather_compiler.get_id() == 'msvc' |
|
add_project_arguments('/std:' + feather_cpp_std, language : 'cpp') |
|
endif |
|
|
|
threads_dep = dependency('threads') |
|
|
|
cmake = import('cmake') |
|
|
|
######################################## |
|
# libevent |
|
######################################## |
|
|
|
libevent_vars = cmake.subproject_options() |
|
libevent_vars.add_cmake_defines({ |
|
'EVENT__DISABLE_OPENSSL' : true, |
|
'EVENT__DISABLE_MBEDTLS' : true, |
|
'EVENT__DISABLE_BENCHMARK' : true, |
|
'EVENT__DISABLE_TESTS' : true, |
|
'EVENT__DISABLE_REGRESS' : true, |
|
'EVENT__DISABLE_SAMPLES' : true, |
|
'EVENT__LIBRARY_TYPE' : 'STATIC', |
|
}) |
|
|
|
libevent_vars.set_install(false) |
|
|
|
libevent_proj = cmake.subproject('libevent', options : libevent_vars) |
|
libevent_core_dep = libevent_proj.dependency('event_core_static') |
|
libevent_extra_dep = libevent_proj.dependency('event_extra_static') |
|
|
|
######################################## |
|
# cNBT |
|
######################################## |
|
|
|
cnbt_proj = subproject('cNBT') |
|
cnbt_dep = cnbt_proj.get_variable('cnbt_dep') |
|
|
|
######################################## |
|
|
|
feather_deps = [ |
|
threads_dep, |
|
libevent_core_dep, |
|
libevent_extra_dep, |
|
cnbt_dep |
|
] |
|
|
|
if feather_platform == 'windows' |
|
ws2_32_dep = feather_compiler.find_library('ws2_32') |
|
iphlpapi_dep = feather_compiler.find_library('iphlpapi') |
|
bcrypt_dep = feather_compiler.find_library('bcrypt') |
|
|
|
feather_deps += [ ws2_32_dep, iphlpapi_dep, bcrypt_dep ] |
|
else |
|
libevent_pthreads_dep = libevent_proj.dependency('event_pthreads_static') |
|
feather_deps += [ libevent_pthreads_dep ] |
|
endif |
|
|
|
python = find_program('python') |
|
|
|
subdir('src')
|
|
|