summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Tanous <ed@tanous.net>2024-01-03 05:34:36 +0300
committerEd Tanous <ed@tanous.net>2024-04-17 22:28:41 +0300
commitf2caadcee107d537be6fdb8e04bcc975eaa594c6 (patch)
tree484888f5946757406dd011a29d25c425516c347b
parent757178a551c2dcc24730dccb6ed1cd11005b3b8f (diff)
downloadbmcweb-f2caadcee107d537be6fdb8e04bcc975eaa594c6.tar.xz
Reformat meson files
Meson has a style guide, we should follow it. This includes: 4 space indents on new scopes. Trailing commas on the final entry in a list/array Tested: Whitespace only. Code compiles. Change-Id: Ib7f96a2bd722b55410818c766c0261f5d44cb84d Signed-off-by: Ed Tanous <ed@tanous.net>
-rw-r--r--config/meson.build49
-rw-r--r--meson.build695
-rw-r--r--subprojects/packagefiles/boost-url/meson.build9
3 files changed, 389 insertions, 364 deletions
diff --git a/config/meson.build b/config/meson.build
index 7328820a6b..21da40e077 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -9,21 +9,26 @@ conf_data.set10('BMCWEB_INSECURE_ENABLE_QUERY_PARAMS', enable_redfish_query.allo
# enable_redfish_aggregation = get_option('redfish-aggregation')
# conf_data.set10('BMCWEB_ENABLE_REDFISH_AGGREGATION', enable_redfish_aggregation.allowed())
insecure_push_style_notification = get_option('insecure-push-style-notification')
-conf_data.set10('BMCWEB_INSECURE_ENABLE_HTTP_PUSH_STYLE_EVENTING', insecure_push_style_notification.allowed())
+conf_data.set10(
+ 'BMCWEB_INSECURE_ENABLE_HTTP_PUSH_STYLE_EVENTING',
+ insecure_push_style_notification.allowed(),
+)
conf_data.set('MESON_INSTALL_PREFIX', get_option('prefix'))
conf_data.set('HTTPS_PORT', get_option('https_port'))
enable_multi_host = get_option('experimental-redfish-multi-computer-system')
conf_data.set10('BMCWEB_ENABLE_MULTI_HOST', enable_multi_host.allowed())
enable_http2 = get_option('experimental-http2')
conf_data.set10('BMCWEB_ENABLE_HTTP2', enable_http2.allowed())
-conf_data.set10('BMCWEB_ENABLE_MTLS_COMMON_NAME_PARSING_META', get_option('mutual-tls-common-name-parsing') == 'meta')
-
+conf_data.set10(
+ 'BMCWEB_ENABLE_MTLS_COMMON_NAME_PARSING_META',
+ get_option('mutual-tls-common-name-parsing') == 'meta',
+)
# Logging level
loglvlopt = get_option('bmcweb-logging')
if get_option('buildtype').startswith('debug') and loglvlopt == 'disabled'
- # Override logging level as 'debug' if 'bmcweb-logging' is set as 'dsiabled'
- loglvlopt = 'debug'
+ # Override logging level as 'debug' if 'bmcweb-logging' is set as 'dsiabled'
+ loglvlopt = 'debug'
endif
loglvlopt = loglvlopt.to_upper()
conf_data.set('BMCWEB_LOGGING_LEVEL', loglvlopt)
@@ -33,27 +38,31 @@ conf_h_dep = declare_dependency(
sources: configure_file(
input: 'bmcweb_config.h.in',
output: 'bmcweb_config.h',
- configuration: conf_data
- )
+ configuration: conf_data,
+ ),
)
# Configure and install systemd unit files
-configure_file(input : 'bmcweb.socket.in',
- output : 'bmcweb.socket',
- install_dir: systemd_system_unit_dir,
- configuration: conf_data,
- install : true)
+configure_file(
+ input: 'bmcweb.socket.in',
+ output: 'bmcweb.socket',
+ install_dir: systemd_system_unit_dir,
+ configuration: conf_data,
+ install: true,
+)
-configure_file(input : 'bmcweb.service.in',
- output : 'bmcweb.service',
- install_dir: systemd_system_unit_dir,
- configuration: conf_data,
- install : true)
+configure_file(
+ input: 'bmcweb.service.in',
+ output: 'bmcweb.service',
+ install_dir: systemd_system_unit_dir,
+ configuration: conf_data,
+ install: true,
+)
# Copy pam-webserver to etc/pam.d
install_data(
- 'pam-webserver',
- install_dir: '/etc/pam.d/',
- rename: 'webserver',
+ 'pam-webserver',
+ install_dir: '/etc/pam.d/',
+ rename: 'webserver',
)
diff --git a/meson.build b/meson.build
index 5ffc18c535..a965b7ff43 100644
--- a/meson.build
+++ b/meson.build
@@ -1,24 +1,27 @@
-project('bmcweb', 'cpp',
- version : '1.0',
- meson_version: '>=0.63.0',
- default_options: [
- 'b_lto_mode=default',
- 'b_lto_threads=0',
- 'b_lto=true',
- 'b_ndebug=if-release',
- 'buildtype=debugoptimized',
- 'cpp_rtti=false',
- 'cpp_std=c++20',
- 'warning_level=3',
- 'werror=true',
- ])
+project(
+ 'bmcweb',
+ 'cpp',
+ version: '1.0',
+ meson_version: '>=0.63.0',
+ default_options: [
+ 'b_lto_mode=default',
+ 'b_lto_threads=0',
+ 'b_lto=true',
+ 'b_ndebug=if-release',
+ 'buildtype=debugoptimized',
+ 'cpp_rtti=false',
+ 'cpp_std=c++20',
+ 'warning_level=3',
+ 'werror=true',
+ ],
+)
# Project related links
project_pretty_name = 'bmcweb'
project_url = 'https://github.com/openbmc/' + project_pretty_name
project_issues_url = project_url + '/issues/new'
-summary('Issues',project_issues_url, section: 'Report Issues')
+summary('Issues', project_issues_url, section: 'Report Issues')
# Validate the c++ Standard
@@ -31,261 +34,272 @@ endif
cxx = meson.get_compiler('cpp')
build = get_option('buildtype')
optimization = get_option('optimization')
-summary('Build Type',build, section : 'Build Info')
-summary('Optimization',optimization, section : 'Build Info')
-
+summary('Build Type', build, section: 'Build Info')
+summary('Optimization', optimization, section: 'Build Info')
# remove debug information for minsize buildtype
-if(get_option('buildtype') == 'minsize')
- add_project_arguments(['-fdata-sections', '-ffunction-sections'], language : 'cpp')
- add_project_arguments('-DNDEBUG', language : 'cpp')
+if (get_option('buildtype') == 'minsize')
+ add_project_arguments(['-fdata-sections', '-ffunction-sections'], language: 'cpp')
+ add_project_arguments('-DNDEBUG', language: 'cpp')
endif
-if(get_option('dns-resolver') == 'systemd-dbus')
- add_project_arguments('-DBMCWEB_DBUS_DNS_RESOLVER', language : 'cpp')
+if (get_option('dns-resolver') == 'systemd-dbus')
+ add_project_arguments('-DBMCWEB_DBUS_DNS_RESOLVER', language: 'cpp')
endif
# Disable lto when compiling with no optimization
-if(get_option('optimization') == '0')
- add_project_arguments('-fno-lto', language: 'cpp')
- message('Disabling lto & its supported features as optimization is disabled')
+if (get_option('optimization') == '0')
+ add_project_arguments('-fno-lto', language: 'cpp')
+ message('Disabling lto & its supported features as optimization is disabled')
endif
# Include Directories
-incdir = include_directories(
- 'include',
- 'redfish-core/include',
- 'redfish-core/lib',
- 'http'
-)
+incdir = include_directories('include', 'redfish-core/include', 'redfish-core/lib', 'http')
# Get the options and enable the respective features
## create a MAP of "options : feature_flag"
feature_map = {
- 'basic-auth' : '-DBMCWEB_ENABLE_BASIC_AUTHENTICATION',
- 'cookie-auth' : '-DBMCWEB_ENABLE_COOKIE_AUTHENTICATION',
- 'google-api' : '-DBMCWEB_ENABLE_GOOGLE_API',
- 'host-serial-socket' : '-DBMCWEB_ENABLE_HOST_SERIAL_WEBSOCKET',
- 'ibm-management-console' : '-DBMCWEB_ENABLE_IBM_MANAGEMENT_CONSOLE',
- 'insecure-disable-auth' : '-DBMCWEB_INSECURE_DISABLE_AUTHX',
- 'insecure-disable-csrf' : '-DBMCWEB_INSECURE_DISABLE_CSRF_PREVENTION',
- 'insecure-disable-ssl' : '-DBMCWEB_INSECURE_DISABLE_SSL',
- 'insecure-push-style-notification' : '-DBMCWEB_INSECURE_ENABLE_HTTP_PUSH_STYLE_EVENTING',
- 'insecure-tftp-update' : '-DBMCWEB_INSECURE_ENABLE_REDFISH_FW_TFTP_UPDATE',
- 'insecure-ignore-content-type' : '-DBMCWEB_INSECURE_IGNORE_CONTENT_TYPE',
- 'kvm' : '-DBMCWEB_ENABLE_KVM' ,
- 'mutual-tls-auth' : '-DBMCWEB_ENABLE_MUTUAL_TLS_AUTHENTICATION',
- 'redfish-aggregation' : '-DBMCWEB_ENABLE_REDFISH_AGGREGATION',
- 'redfish-allow-deprecated-power-thermal' : '-DBMCWEB_ALLOW_DEPRECATED_POWER_THERMAL',
- 'redfish-bmc-journal' : '-DBMCWEB_ENABLE_REDFISH_BMC_JOURNAL',
- 'redfish-cpu-log' : '-DBMCWEB_ENABLE_REDFISH_CPU_LOG',
- 'redfish-dbus-log' : '-DBMCWEB_ENABLE_REDFISH_DBUS_LOG_ENTRIES',
- 'redfish-dump-log' : '-DBMCWEB_ENABLE_REDFISH_DUMP_LOG',
- 'redfish-host-logger' : '-DBMCWEB_ENABLE_REDFISH_HOST_LOGGER',
- 'redfish-new-powersubsystem-thermalsubsystem' : '-DBMCWEB_NEW_POWERSUBSYSTEM_THERMALSUBSYSTEM',
- 'redfish-oem-manager-fan-data' : '-DBMCWEB_ENABLE_REDFISH_OEM_MANAGER_FAN_DATA',
- 'redfish-provisioning-feature' : '-DBMCWEB_ENABLE_REDFISH_PROVISIONING_FEATURE',
- 'redfish' : '-DBMCWEB_ENABLE_REDFISH',
- 'rest' : '-DBMCWEB_ENABLE_DBUS_REST',
- 'session-auth' : '-DBMCWEB_ENABLE_SESSION_AUTHENTICATION',
- 'static-hosting' : '-DBMCWEB_ENABLE_STATIC_HOSTING',
- 'experimental-redfish-multi-computer-system' : '-DBMCWEB_ENABLE_MULTI_COMPUTERSYSTEM',
- 'vm-websocket' : '-DBMCWEB_ENABLE_VM_WEBSOCKET',
- 'xtoken-auth' : '-DBMCWEB_ENABLE_XTOKEN_AUTHENTICATION',
- #'vm-nbdproxy' : '-DBMCWEB_ENABLE_VM_NBDPROXY',
+ 'basic-auth': '-DBMCWEB_ENABLE_BASIC_AUTHENTICATION',
+ 'cookie-auth': '-DBMCWEB_ENABLE_COOKIE_AUTHENTICATION',
+ 'google-api': '-DBMCWEB_ENABLE_GOOGLE_API',
+ 'host-serial-socket': '-DBMCWEB_ENABLE_HOST_SERIAL_WEBSOCKET',
+ 'ibm-management-console': '-DBMCWEB_ENABLE_IBM_MANAGEMENT_CONSOLE',
+ 'insecure-disable-auth': '-DBMCWEB_INSECURE_DISABLE_AUTHX',
+ 'insecure-disable-csrf': '-DBMCWEB_INSECURE_DISABLE_CSRF_PREVENTION',
+ 'insecure-disable-ssl': '-DBMCWEB_INSECURE_DISABLE_SSL',
+ 'insecure-push-style-notification': '-DBMCWEB_INSECURE_ENABLE_HTTP_PUSH_STYLE_EVENTING',
+ 'insecure-tftp-update': '-DBMCWEB_INSECURE_ENABLE_REDFISH_FW_TFTP_UPDATE',
+ 'insecure-ignore-content-type': '-DBMCWEB_INSECURE_IGNORE_CONTENT_TYPE',
+ 'kvm': '-DBMCWEB_ENABLE_KVM',
+ 'mutual-tls-auth': '-DBMCWEB_ENABLE_MUTUAL_TLS_AUTHENTICATION',
+ 'redfish-aggregation': '-DBMCWEB_ENABLE_REDFISH_AGGREGATION',
+ 'redfish-allow-deprecated-power-thermal': '-DBMCWEB_ALLOW_DEPRECATED_POWER_THERMAL',
+ 'redfish-bmc-journal': '-DBMCWEB_ENABLE_REDFISH_BMC_JOURNAL',
+ 'redfish-cpu-log': '-DBMCWEB_ENABLE_REDFISH_CPU_LOG',
+ 'redfish-dbus-log': '-DBMCWEB_ENABLE_REDFISH_DBUS_LOG_ENTRIES',
+ 'redfish-dump-log': '-DBMCWEB_ENABLE_REDFISH_DUMP_LOG',
+ 'redfish-host-logger': '-DBMCWEB_ENABLE_REDFISH_HOST_LOGGER',
+ 'redfish-new-powersubsystem-thermalsubsystem': '-DBMCWEB_NEW_POWERSUBSYSTEM_THERMALSUBSYSTEM',
+ 'redfish-oem-manager-fan-data': '-DBMCWEB_ENABLE_REDFISH_OEM_MANAGER_FAN_DATA',
+ 'redfish-provisioning-feature': '-DBMCWEB_ENABLE_REDFISH_PROVISIONING_FEATURE',
+ 'redfish': '-DBMCWEB_ENABLE_REDFISH',
+ 'rest': '-DBMCWEB_ENABLE_DBUS_REST',
+ 'session-auth': '-DBMCWEB_ENABLE_SESSION_AUTHENTICATION',
+ 'static-hosting': '-DBMCWEB_ENABLE_STATIC_HOSTING',
+ 'experimental-redfish-multi-computer-system': '-DBMCWEB_ENABLE_MULTI_COMPUTERSYSTEM',
+ 'vm-websocket': '-DBMCWEB_ENABLE_VM_WEBSOCKET',
+ 'xtoken-auth': '-DBMCWEB_ENABLE_XTOKEN_AUTHENTICATION',
+ #'vm-nbdproxy' : '-DBMCWEB_ENABLE_VM_NBDPROXY',
}
# Get the options status and build a project summary to show which flags are
# being enabled during the configuration time.
-foreach option_key,option_value : feature_map
- if(get_option(option_key).allowed())
- if(option_key == 'mutual-tls-auth' or option_key == 'insecure-disable-ssl')
- if(get_option('insecure-disable-ssl').disabled() or get_option('mutual-tls-auth').disabled())
- add_project_arguments(option_value,language:'cpp')
- summary(option_key,option_value, section : 'Enabled Features')
- endif
- elif (option_key in ['basic-auth', 'cookie-auth', 'session-auth', 'xtoken-auth', 'mutual-tls-auth'])
- if (get_option('insecure-disable-auth').disabled())
- add_project_arguments(option_value, language:'cpp')
- summary(option_key,option_value, section : 'Enabled Features')
- endif
+foreach option_key, option_value : feature_map
+ if (get_option(option_key).allowed())
+ if (
+ option_key == 'mutual-tls-auth'
+ or option_key == 'insecure-disable-ssl'
+ )
+ if (
+ get_option('insecure-disable-ssl').disabled()
+ or get_option('mutual-tls-auth').disabled()
+ )
+ add_project_arguments(option_value, language: 'cpp')
+ summary(option_key, option_value, section: 'Enabled Features')
+ endif
+ elif (
+ option_key in [
+ 'basic-auth',
+ 'cookie-auth',
+ 'session-auth',
+ 'xtoken-auth',
+ 'mutual-tls-auth',
+ ]
+ )
+ if (get_option('insecure-disable-auth').disabled())
+ add_project_arguments(option_value, language: 'cpp')
+ summary(option_key, option_value, section: 'Enabled Features')
+ endif
+ else
+ summary(option_key, option_value, section: 'Enabled Features')
+ add_project_arguments(option_value, language: 'cpp')
+ endif
else
- summary(option_key,option_value, section : 'Enabled Features')
- add_project_arguments(option_value,language:'cpp')
+ if (option_key == 'insecure-disable-ssl')
+ summary('ssl', '-DBMCWEB_ENABLE_SSL', section: 'Enabled Features')
+ add_project_arguments('-DBMCWEB_ENABLE_SSL', language: 'cpp')
+ endif
endif
- else
- if(option_key == 'insecure-disable-ssl')
- summary('ssl','-DBMCWEB_ENABLE_SSL', section : 'Enabled Features')
- add_project_arguments('-DBMCWEB_ENABLE_SSL', language : 'cpp')
- endif
- endif
endforeach
-if(get_option('tests').allowed())
- summary('unittest','NA', section : 'Enabled Features')
+if (get_option('tests').allowed())
+ summary('unittest', 'NA', section: 'Enabled Features')
endif
# Add compiler arguments
if (cxx.get_id() == 'clang')
- if (cxx.version().version_compare('<17.0'))
- error('This project requires clang-17 or higher')
- endif
- add_project_arguments(
- '-Weverything',
- '-Wformat=2',
- '-Wno-c++98-compat-pedantic',
- '-Wno-c++98-compat',
- '-Wno-documentation-unknown-command',
- '-Wno-documentation',
- '-Wno-exit-time-destructors',
- '-Wno-global-constructors',
- '-Wno-newline-eof',
- '-Wno-padded',
- '-Wno-shadow',
- '-Wno-used-but-marked-unused',
- '-Wno-weak-vtables',
- '-Wno-switch-enum',
- '-Wno-unused-macros',
- '-Wno-covered-switch-default',
- language:'cpp')
+ if (cxx.version().version_compare('<17.0'))
+ error('This project requires clang-17 or higher')
+ endif
+ add_project_arguments(
+ '-Weverything',
+ '-Wformat=2',
+ '-Wno-c++98-compat-pedantic',
+ '-Wno-c++98-compat',
+ '-Wno-documentation-unknown-command',
+ '-Wno-documentation',
+ '-Wno-exit-time-destructors',
+ '-Wno-global-constructors',
+ '-Wno-newline-eof',
+ '-Wno-padded',
+ '-Wno-shadow',
+ '-Wno-used-but-marked-unused',
+ '-Wno-weak-vtables',
+ '-Wno-switch-enum',
+ '-Wno-unused-macros',
+ '-Wno-covered-switch-default',
+ language: 'cpp',
+ )
endif
if (cxx.get_id() == 'gcc')
- if (cxx.version().version_compare('<13.0'))
- error('This project requires gcc-13 or higher')
- endif
-
- add_project_arguments(
- '-Wformat=2',
- '-Wcast-align',
- '-Wconversion',
- '-Woverloaded-virtual',
- '-Wsign-conversion',
- '-Wunused',
- '-Wduplicated-cond',
- '-Wduplicated-branches',
- '-Wlogical-op',
- '-Wnull-dereference',
- '-Wunused-parameter',
- '-Wdouble-promotion',
- '-Wshadow',
- '-Wno-psabi',
- '-Wno-attributes',
- language:'cpp')
+ if (cxx.version().version_compare('<13.0'))
+ error('This project requires gcc-13 or higher')
+ endif
+
+ add_project_arguments(
+ '-Wformat=2',
+ '-Wcast-align',
+ '-Wconversion',
+ '-Woverloaded-virtual',
+ '-Wsign-conversion',
+ '-Wunused',
+ '-Wduplicated-cond',
+ '-Wduplicated-branches',
+ '-Wlogical-op',
+ '-Wnull-dereference',
+ '-Wunused-parameter',
+ '-Wdouble-promotion',
+ '-Wshadow',
+ '-Wno-psabi',
+ '-Wno-attributes',
+ language: 'cpp',
+ )
endif
if (get_option('buildtype') != 'plain')
- if (get_option('b_lto') == true and get_option('optimization')!='0')
- # Reduce the binary size by removing unnecessary
- # dynamic symbol table entries
-
- add_project_arguments(
- cxx.get_supported_arguments([
- '-fno-fat-lto-objects',
- '-fvisibility=hidden',
- '-fvisibility-inlines-hidden'
- ]),
- language: 'cpp')
-
- if cxx.has_link_argument('-Wl,--exclude-libs,ALL')
- add_project_link_arguments('-Wl,--exclude-libs,ALL', language: 'cpp')
+ if (get_option('b_lto') == true and get_option('optimization') != '0')
+ # Reduce the binary size by removing unnecessary
+ # dynamic symbol table entries
+
+ add_project_arguments(
+ cxx.get_supported_arguments(
+ [
+ '-fno-fat-lto-objects',
+ '-fvisibility=hidden',
+ '-fvisibility-inlines-hidden',
+ ],
+ ),
+ language: 'cpp',
+ )
+
+ if cxx.has_link_argument('-Wl,--exclude-libs,ALL')
+ add_project_link_arguments('-Wl,--exclude-libs,ALL', language: 'cpp')
+ endif
endif
- endif
endif
-if( get_option('bmcweb-logging') != 'disabled' or \
- get_option('buildtype').startswith('debug'))
- add_project_arguments([
- '-DBMCWEB_ENABLE_DEBUG'
- ],
- language : 'cpp')
+if (
+ get_option('bmcweb-logging') != 'disabled'
+ or get_option('buildtype').startswith('debug')
+)
+ add_project_arguments(['-DBMCWEB_ENABLE_DEBUG'], language: 'cpp')
- summary('debug', '-DBMCWEB_ENABLE_DEBUG', section : 'Enabled Features')
+ summary('debug', '-DBMCWEB_ENABLE_DEBUG', section: 'Enabled Features')
endif
# Set Compiler Security flags
security_flags = [
- '-fstack-protector-strong',
- '-fPIE',
- '-fPIC',
- '-D_FORTIFY_SOURCE=2',
- '-Wformat',
- '-Wformat-security'
+ '-fstack-protector-strong',
+ '-fPIE',
+ '-fPIC',
+ '-D_FORTIFY_SOURCE=2',
+ '-Wformat',
+ '-Wformat-security',
]
## Add security flags for builds of type 'release','debugoptimized' and 'minsize'
-if not (get_option('buildtype') == 'plain' or get_option('buildtype').startswith('debug'))
- add_project_arguments(
- cxx.get_supported_arguments([
- security_flags
- ]),
- language: 'cpp')
+if not (
+ get_option('buildtype') == 'plain'
+ or get_option('buildtype').startswith('debug')
+)
+ add_project_arguments(cxx.get_supported_arguments([security_flags]), language: 'cpp')
endif
# Boost dependency configuration
add_project_arguments(
-cxx.get_supported_arguments([
- '-DBOOST_ASIO_DISABLE_CONCEPTS',
- '-DBOOST_ALL_NO_LIB',
- '-DBOOST_ALLOW_DEPRECATED_HEADERS',
- '-DBOOST_ASIO_DISABLE_THREADS',
- '-DBOOST_ASIO_NO_DEPRECATED',
- '-DBOOST_ASIO_SEPARATE_COMPILATION',
- '-DBOOST_BEAST_SEPARATE_COMPILATION',
- '-DBOOST_EXCEPTION_DISABLE',
- '-DBOOST_NO_EXCEPTIONS',
- '-DBOOST_URL_NO_SOURCE_LOCATION',
- '-DJSON_NOEXCEPTION',
- '-DOPENSSL_NO_FILENAMES',
- '-DSDBUSPLUS_DISABLE_BOOST_COROUTINES',
-]),
-language : 'cpp')
+ cxx.get_supported_arguments(
+ [
+ '-DBOOST_ASIO_DISABLE_CONCEPTS',
+ '-DBOOST_ALL_NO_LIB',
+ '-DBOOST_ALLOW_DEPRECATED_HEADERS',
+ '-DBOOST_ASIO_DISABLE_THREADS',
+ '-DBOOST_ASIO_NO_DEPRECATED',
+ '-DBOOST_ASIO_SEPARATE_COMPILATION',
+ '-DBOOST_BEAST_SEPARATE_COMPILATION',
+ '-DBOOST_EXCEPTION_DISABLE',
+ '-DBOOST_NO_EXCEPTIONS',
+ '-DBOOST_URL_NO_SOURCE_LOCATION',
+ '-DJSON_NOEXCEPTION',
+ '-DOPENSSL_NO_FILENAMES',
+ '-DSDBUSPLUS_DISABLE_BOOST_COROUTINES',
+ ],
+ ),
+ language: 'cpp',
+)
# Find the dependency modules, if not found use meson wrap to get them
# automatically during the configure step
bmcweb_dependencies = []
pam = cxx.find_library('pam', required: true)
-atomic = cxx.find_library('atomic', required: true)
+atomic = cxx.find_library('atomic', required: true)
bmcweb_dependencies += [pam, atomic]
-openssl = dependency('openssl', required : false, version: '>=3.0.0')
+openssl = dependency('openssl', required: false, version: '>=3.0.0')
if not openssl.found() or get_option('b_sanitize') != 'none'
- openssl_proj = subproject(
- 'openssl',
- required: true,
- default_options: ['warning_level=0', 'werror=false']
- )
- openssl = openssl_proj.get_variable('openssl_dep')
- openssl = openssl.as_system('system')
+ openssl_proj = subproject(
+ 'openssl',
+ required: true,
+ default_options: ['warning_level=0', 'werror=false'],
+ )
+ openssl = openssl_proj.get_variable('openssl_dep')
+ openssl = openssl.as_system('system')
endif
bmcweb_dependencies += [openssl]
-nghttp2 = dependency('libnghttp2', version: '>=1.52.0', required : false)
+nghttp2 = dependency('libnghttp2', version: '>=1.52.0', required: false)
if not nghttp2.found()
- cmake = import('cmake')
- opt_var = cmake.subproject_options()
- opt_var.add_cmake_defines({
- 'ENABLE_LIB_ONLY': true,
- 'ENABLE_STATIC_LIB': true
- })
- nghttp2_ex = cmake.subproject('nghttp2', options: opt_var)
- nghttp2 = nghttp2_ex.dependency('nghttp2_static')
+ cmake = import('cmake')
+ opt_var = cmake.subproject_options()
+ opt_var.add_cmake_defines({'ENABLE_LIB_ONLY': true, 'ENABLE_STATIC_LIB': true})
+ nghttp2_ex = cmake.subproject('nghttp2', options: opt_var)
+ nghttp2 = nghttp2_ex.dependency('nghttp2_static')
endif
bmcweb_dependencies += nghttp2
-sdbusplus = dependency('sdbusplus', required : false, include_type: 'system')
+sdbusplus = dependency('sdbusplus', required: false, include_type: 'system')
if not sdbusplus.found()
- sdbusplus_proj = subproject('sdbusplus', required: true)
- sdbusplus = sdbusplus_proj.get_variable('sdbusplus_dep')
- sdbusplus = sdbusplus.as_system('system')
+ sdbusplus_proj = subproject('sdbusplus', required: true)
+ sdbusplus = sdbusplus_proj.get_variable('sdbusplus_dep')
+ sdbusplus = sdbusplus.as_system('system')
endif
bmcweb_dependencies += sdbusplus
@@ -310,68 +324,79 @@ nlohmann_json_dep = dependency('nlohmann_json', version: '>=3.11.2', include_typ
bmcweb_dependencies += nlohmann_json_dep
boost = dependency(
- 'boost',
- modules: [
- 'url',
+ 'boost',
+ modules: [
+ 'url',
],
- version : '>=1.84.0',
- required : false,
- include_type: 'system'
+ version: '>=1.84.0',
+ required: false,
+ include_type: 'system',
)
if boost.found()
- bmcweb_dependencies += [boost]
+ bmcweb_dependencies += [boost]
else
- cmake = import('cmake')
- opt = cmake.subproject_options()
- opt.add_cmake_defines({
- 'BOOST_INCLUDE_LIBRARIES': 'asio;beast;callable_traits;headers;process;type_index;url;uuid',
- 'BUILD_SHARED_LIBS': 'OFF',
- })
-
- boost = cmake.subproject('boost', required: true, options: opt)
- boost_asio = boost.dependency('boost_asio').as_system()
- boost_beast = boost.dependency('boost_beast').as_system()
- boost_callable_traits = boost.dependency('boost_callable_traits').as_system()
- boost_headers = boost.dependency('boost_headers').as_system()
- boost_process = boost.dependency('boost_process').as_system()
- boost_type_index = boost.dependency('boost_type_index').as_system()
- boost_url = boost.dependency('boost_url').as_system()
- boost_uuid = boost.dependency('boost_uuid').as_system()
- bmcweb_dependencies += [
- boost_asio,
- boost_beast,
- boost_callable_traits,
- boost_headers,
- boost_process,
- boost_type_index,
- boost_url,
- boost_uuid
- ]
+ cmake = import('cmake')
+ opt = cmake.subproject_options()
+ opt.add_cmake_defines(
+ {
+ 'BOOST_INCLUDE_LIBRARIES': 'asio;beast;callable_traits;headers;process;type_index;url;uuid',
+ 'BUILD_SHARED_LIBS': 'OFF',
+ },
+ )
+
+ boost = cmake.subproject('boost', required: true, options: opt)
+ boost_asio = boost.dependency('boost_asio').as_system()
+ boost_beast = boost.dependency('boost_beast').as_system()
+ boost_callable_traits = boost.dependency('boost_callable_traits').as_system()
+ boost_headers = boost.dependency('boost_headers').as_system()
+ boost_process = boost.dependency('boost_process').as_system()
+ boost_type_index = boost.dependency('boost_type_index').as_system()
+ boost_url = boost.dependency('boost_url').as_system()
+ boost_uuid = boost.dependency('boost_uuid').as_system()
+ bmcweb_dependencies += [
+ boost_asio,
+ boost_beast,
+ boost_callable_traits,
+ boost_headers,
+ boost_process,
+ boost_type_index,
+ boost_url,
+ boost_uuid,
+ ]
endif
if get_option('tests').allowed()
- gtest = dependency('gtest', main: true, version: '>=1.14.0', disabler: true, required : false)
- gmock = dependency('gmock', required : false)
- if not gtest.found() and get_option('tests').allowed()
- gtest_proj = subproject('gtest', required: true)
- gtest = gtest_proj.get_variable('gtest_main_dep')
- gmock = gtest_proj.get_variable('gmock_dep')
- endif
- gtest = gtest.as_system('system')
- gmock = gmock.as_system('system')
+ gtest = dependency(
+ 'gtest',
+ main: true,
+ version: '>=1.14.0',
+ disabler: true,
+ required: false,
+ )
+ gmock = dependency('gmock', required: false)
+ if not gtest.found() and get_option('tests').allowed()
+ gtest_proj = subproject('gtest', required: true)
+ gtest = gtest_proj.get_variable('gtest_main_dep')
+ gmock = gtest_proj.get_variable('gmock_dep')
+ endif
+ gtest = gtest.as_system('system')
+ gmock = gmock.as_system('system')
endif
systemd_system_unit_dir = systemd.get_variable('systemdsystemunitdir')
-bindir = get_option('prefix') + '/' +get_option('bindir')
+bindir = get_option('prefix') + '/' + get_option('bindir')
-summary({
- 'prefix' : get_option('prefix'),
- 'bindir' : bindir,
- 'systemd unit directory' : systemd_system_unit_dir
- }, section : 'Directories')
+summary(
+ {
+ 'prefix': get_option('prefix'),
+ 'bindir': bindir,
+ 'systemd unit directory': systemd_system_unit_dir,
+ },
+ section: 'Directories',
+)
-install_subdir('static', install_dir : 'share/www', strip_directory : true)
+install_subdir('static', install_dir: 'share/www', strip_directory: true)
# Config subdirectory
@@ -382,106 +407,106 @@ bmcweb_dependencies += conf_h_dep
fs = import('fs')
srcfiles_bmcweb = files(
- # Begin large files, should be at the beginning
- 'redfish-core/src/redfish.cpp',
- 'src/webserver_run.cpp',
- # end large files
-
- 'redfish-core/src/error_messages.cpp',
- 'redfish-core/src/registries.cpp',
- 'redfish-core/src/utils/dbus_utils.cpp',
- 'redfish-core/src/utils/json_utils.cpp',
- 'redfish-core/src/utils/time_utils.cpp',
- 'src/boost_asio_ssl.cpp',
- 'src/boost_asio.cpp',
- 'src/boost_beast.cpp',
- 'src/dbus_singleton.cpp',
- 'src/json_html_serializer.cpp',
- 'src/ossl_random.cpp',
+ # end large files
+
+ 'redfish-core/src/error_messages.cpp',
+ # Begin large files, should be at the beginning
+ 'redfish-core/src/redfish.cpp',
+ 'redfish-core/src/registries.cpp',
+ 'redfish-core/src/utils/dbus_utils.cpp',
+ 'redfish-core/src/utils/json_utils.cpp',
+ 'redfish-core/src/utils/time_utils.cpp',
+ 'src/boost_asio.cpp',
+ 'src/boost_asio_ssl.cpp',
+ 'src/boost_beast.cpp',
+ 'src/dbus_singleton.cpp',
+ 'src/json_html_serializer.cpp',
+ 'src/ossl_random.cpp',
+ 'src/webserver_run.cpp',
)
bmcweblib = static_library(
- 'bmcweblib',
- srcfiles_bmcweb,
- include_directories : incdir,
- dependencies: bmcweb_dependencies,
+ 'bmcweblib',
+ srcfiles_bmcweb,
+ include_directories: incdir,
+ dependencies: bmcweb_dependencies,
)
# Generate the bmcweb executable
executable(
- 'bmcweb',
- 'src/webserver_main.cpp',
- include_directories : incdir,
- dependencies: bmcweb_dependencies,
- link_with: bmcweblib,
- link_args: '-Wl,--gc-sections',
- install: true,
- install_dir:bindir
+ 'bmcweb',
+ 'src/webserver_main.cpp',
+ include_directories: incdir,
+ dependencies: bmcweb_dependencies,
+ link_with: bmcweblib,
+ link_args: '-Wl,--gc-sections',
+ install: true,
+ install_dir: bindir,
)
srcfiles_unittest = files(
- 'test/http/crow_getroutes_test.cpp',
- 'test/http/http2_connection_test.cpp',
- 'test/http/http_connection_test.cpp',
- 'test/http/mutual_tls.cpp',
- 'test/http/router_test.cpp',
- 'test/http/parsing_test.cpp',
- 'test/http/http_response_test.cpp',
- 'test/http/utility_test.cpp',
- 'test/http/verb_test.cpp',
- 'test/http/server_sent_event_test.cpp',
- 'test/http/mutual_tls_meta.cpp',
- 'test/http/http_body_test.cpp',
- 'test/include/dbus_utility_test.cpp',
- 'test/include/google/google_service_root_test.cpp',
- 'test/include/json_html_serializer.cpp',
- 'test/include/http_utility_test.cpp',
- 'test/include/human_sort_test.cpp',
- 'test/include/async_resolve_test.cpp',
- 'test/include/credential_pipe_test.cpp',
- 'test/include/ibm/configfile_test.cpp',
- 'test/include/ibm/lock_test.cpp',
- 'test/include/multipart_test.cpp',
- 'test/include/openbmc_dbus_rest_test.cpp',
- 'test/include/str_utility_test.cpp',
- 'test/include/ossl_random.cpp',
- 'test/redfish-core/include/privileges_test.cpp',
- 'test/redfish-core/include/redfish_aggregator_test.cpp',
- 'test/redfish-core/include/registries_test.cpp',
- 'test/redfish-core/include/utils/hex_utils_test.cpp',
- 'test/redfish-core/include/utils/dbus_utils.cpp',
- 'test/redfish-core/include/utils/ip_utils_test.cpp',
- 'test/redfish-core/include/utils/json_utils_test.cpp',
- 'test/redfish-core/include/utils/query_param_test.cpp',
- 'test/redfish-core/include/utils/stl_utils_test.cpp',
- 'test/redfish-core/include/utils/time_utils_test.cpp',
- 'test/redfish-core/lib/chassis_test.cpp',
- 'test/redfish-core/lib/sensors_test.cpp',
- 'test/redfish-core/lib/system_test.cpp',
- 'test/redfish-core/lib/log_services_dump_test.cpp',
- 'test/redfish-core/lib/log_services_test.cpp',
- 'test/redfish-core/lib/update_service_test.cpp',
- 'test/redfish-core/lib/service_root_test.cpp',
- 'test/redfish-core/lib/thermal_subsystem_test.cpp',
- 'test/redfish-core/lib/power_subsystem_test.cpp',
- 'test/redfish-core/lib/manager_diagnostic_data_test.cpp',
+ 'test/http/crow_getroutes_test.cpp',
+ 'test/http/http2_connection_test.cpp',
+ 'test/http/http_body_test.cpp',
+ 'test/http/http_connection_test.cpp',
+ 'test/http/http_response_test.cpp',
+ 'test/http/mutual_tls.cpp',
+ 'test/http/mutual_tls_meta.cpp',
+ 'test/http/parsing_test.cpp',
+ 'test/http/router_test.cpp',
+ 'test/http/server_sent_event_test.cpp',
+ 'test/http/utility_test.cpp',
+ 'test/http/verb_test.cpp',
+ 'test/include/async_resolve_test.cpp',
+ 'test/include/credential_pipe_test.cpp',
+ 'test/include/dbus_utility_test.cpp',
+ 'test/include/google/google_service_root_test.cpp',
+ 'test/include/http_utility_test.cpp',
+ 'test/include/human_sort_test.cpp',
+ 'test/include/ibm/configfile_test.cpp',
+ 'test/include/ibm/lock_test.cpp',
+ 'test/include/json_html_serializer.cpp',
+ 'test/include/multipart_test.cpp',
+ 'test/include/openbmc_dbus_rest_test.cpp',
+ 'test/include/ossl_random.cpp',
+ 'test/include/str_utility_test.cpp',
+ 'test/redfish-core/include/privileges_test.cpp',
+ 'test/redfish-core/include/redfish_aggregator_test.cpp',
+ 'test/redfish-core/include/registries_test.cpp',
+ 'test/redfish-core/include/utils/dbus_utils.cpp',
+ 'test/redfish-core/include/utils/hex_utils_test.cpp',
+ 'test/redfish-core/include/utils/ip_utils_test.cpp',
+ 'test/redfish-core/include/utils/json_utils_test.cpp',
+ 'test/redfish-core/include/utils/query_param_test.cpp',
+ 'test/redfish-core/include/utils/stl_utils_test.cpp',
+ 'test/redfish-core/include/utils/time_utils_test.cpp',
+ 'test/redfish-core/lib/chassis_test.cpp',
+ 'test/redfish-core/lib/log_services_dump_test.cpp',
+ 'test/redfish-core/lib/log_services_test.cpp',
+ 'test/redfish-core/lib/manager_diagnostic_data_test.cpp',
+ 'test/redfish-core/lib/power_subsystem_test.cpp',
+ 'test/redfish-core/lib/sensors_test.cpp',
+ 'test/redfish-core/lib/service_root_test.cpp',
+ 'test/redfish-core/lib/system_test.cpp',
+ 'test/redfish-core/lib/thermal_subsystem_test.cpp',
+ 'test/redfish-core/lib/update_service_test.cpp',
)
-
-if(get_option('tests').allowed())
+if (get_option('tests').allowed())
# generate the test executable
foreach test_src : srcfiles_unittest
- test_bin = executable(
- fs.stem(test_src),
- test_src,
- link_with: bmcweblib,
- include_directories : incdir,
- install_dir: bindir,
- dependencies: bmcweb_dependencies + [
- gtest,
- gmock,
- ]
- )
- test(fs.stem(test_src), test_bin)
+ test_bin = executable(
+ fs.stem(test_src),
+ test_src,
+ link_with: bmcweblib,
+ include_directories: incdir,
+ install_dir: bindir,
+ dependencies: bmcweb_dependencies
+ + [
+ gtest,
+ gmock,
+ ],
+ )
+ test(fs.stem(test_src), test_bin)
endforeach
endif
diff --git a/subprojects/packagefiles/boost-url/meson.build b/subprojects/packagefiles/boost-url/meson.build
deleted file mode 100644
index 7e64115838..0000000000
--- a/subprojects/packagefiles/boost-url/meson.build
+++ /dev/null
@@ -1,9 +0,0 @@
-project('boost-url',
- 'cpp',
- version : '0.1',
- license : 'Boost'
-)
-
-boost_url_dep = declare_dependency(
- include_directories : include_directories('include'),
-)