diff --git a/meson.build b/meson.build old mode 100755 new mode 100644 index 35ca345..a525d36 --- a/meson.build +++ b/meson.build @@ -21,12 +21,12 @@ project('SampleHive', 'cpp', version : 'v0.9.0_alpha.1', license : 'GPL v3', - meson_version: '>= 0.58.0', + meson_version: '>= 1.5.2', default_options : ['warning_level=2', 'buildtype=debugoptimized', 'b_lto=true', 'b_lto_threads=2', - 'cpp_std=gnu++14']) + 'cpp_std=gnu++20']) # Create configuration data config_data = configuration_data() @@ -39,7 +39,7 @@ project_name = meson.project_name() project_license = meson.project_license() project_version = meson.project_version() project_author = 'Apoorv' -project_copyright_years = '2020-2021' +project_copyright_years = '2020-2025' project_description = 'A simple, modern audio sample browser/manager for GNU/Linux.' project_website = 'http://samplehive.gitlab.io/website' @@ -101,16 +101,17 @@ wx_opts = cmake.subproject_options() wx_opts.add_cmake_defines({'CMAKE_POSITION_INDEPENDENT_CODE': 'ON', 'CMAKE_INSTALL_PREFIX': prefix, 'CMAKE_BUILD_TYPE': 'Release', - 'wxBUILD_SHARED': 'ON', + 'wxBUILD_SHARED': 'OFF', 'wxBUILD_MONOLITHIC': 'OFF', 'wxBUILD_BENCHMARKS': 'OFF', 'wxBUILD_PRECOMP': 'OFF', 'wxBUILD_TESTS': 'OFF', 'wxBUILD_SAMPLES': 'OFF', 'wxBUILD_DEMOS': 'OFF', - 'wxBUILD_COMPATIBILITY': '3.0', + 'wxBUILD_COMPATIBILITY': '3.2', 'wxBUILD_TOOLKIT': wx_toolkit, 'wxUSE_UNICODE': 'ON', + 'wxUSE_GUI': 'ON', 'wxUSE_AUI': 'OFF', 'wxUSE_XML': 'OFF', 'wxUSE_XRC': 'ON', @@ -126,6 +127,17 @@ wx_opts.add_cmake_defines({'CMAKE_POSITION_INDEPENDENT_CODE': 'ON', 'wxUSE_LIBSDL': 'OFF', 'wxUSE_MEDIACTRL': 'ON'}) +spdlog_opts = cmake.subproject_options() +spdlog_opts.add_cmake_defines({'CMAKE_POSITION_INDEPENDENT_CODE': 'ON', + 'CMAKE_INSTALL_PREFIX': prefix, + 'CMAKE_BUILD_TYPE': 'Release', + 'SPDLOG_USE_STD_FORMAT': 'ON', + 'SPDLOG_BUILD_EXAMPLE': 'OFF', + 'SPDLOG_BUILD_EXAMPLE_HO': 'OFF', + 'SPDLOG_BUILD_TESTS': 'OFF', + 'SPDLOG_BUILD_TESTS_HO': 'OFF', + 'SPDLOG_BUILD_BENCH': 'OFF'}) + taglib_opts = cmake.subproject_options() taglib_opts.add_cmake_defines({'CMAKE_POSITION_INDEPENDENT_CODE': 'ON', 'CMAKE_INSTALL_PREFIX': prefix, @@ -202,7 +214,7 @@ src = [ include_dirs = include_directories('src') -# Static link C/C++ libs if platform is windows +# Static link C and CXX libs if platform is windows link_args = [] if host_sys == 'windows' @@ -210,7 +222,7 @@ if host_sys == 'windows' endif # Dependencies -wx = dependency('wxwidgets', version: '>=3.2.1', required: false) +wx = dependency('wxwidgets', version: '>=3.2.8', required: true) wx_cxx_flags = [] wx_libs = [] @@ -230,7 +242,7 @@ if not wx.found() src += rc_file endif else - wxconfig = find_program(['wx-config', 'wx-config-gtk3', 'wx-config-3.1']) + wxconfig = find_program(['wx-config', 'wx-config-gtk3', 'wx-config-3.2']) wx_modules = ['media', 'std'] foreach module : wx_modules @@ -239,7 +251,7 @@ else endforeach endif -taglib = dependency('taglib', version: '>=1.12', required: false) +taglib = dependency('taglib', version: '>=1.12', required: true) if not taglib.found() taglib_subproject = cmake.subproject('taglib', options: taglib_opts) @@ -248,7 +260,7 @@ else config_data.set('USE_SYSTEM_INCLUDE_PATH', 1) endif -sqlite3 = dependency('sqlite3', version: '>=3.31.1', required: false) +sqlite3 = dependency('sqlite3', version: '>=3.45.1', required: true) if not sqlite3.found() sqlite3_subproject = subproject('sqlite3') @@ -256,28 +268,28 @@ if not sqlite3.found() sqlite3 = declare_dependency(link_with: libsqlite3) endif -yaml = dependency('yaml-cpp', version: '>=0.6.2', required: false) +yaml = dependency('yaml-cpp', version: '>=0.8.0', required: true) if not yaml.found() yaml_subproject = cmake.subproject('yaml-cpp', options: yaml_opts) yaml = yaml_subproject.dependency('yaml-cpp') endif -snd = dependency('sndfile', version: '>=1.2.0', required: false) +snd = dependency('sndfile', version: '>=1.2.0', required: true) if not snd.found() snd_subproject = cmake.subproject('libsndfile', options: snd_opts) snd = snd_subproject.dependency('sndfile') endif -spdlog = dependency('spdlog', version: '>=1.12.0', required: false) +spdlog = dependency('spdlog', version: '>=1.12.0', required: true) if not spdlog.found() spdlog_subproject = cmake.subproject('spdlog', options: spdlog_opts) spdlog = spdlog_subproject.dependency('spdlog') endif -aubio = dependency('aubio', version: '>=0.4.9', required: false) +aubio = dependency('aubio', version: '>=0.4.9', required: true) if not aubio.found() aubio_subproject = subproject('aubio')