1*94f781a8SGeorge Liuproject( 2*94f781a8SGeorge Liu 'phosphor-net-ipmid', 'cpp', 3*94f781a8SGeorge Liu version : '1.0.0', 4*94f781a8SGeorge Liu meson_version: '>=0.58.0', 5*94f781a8SGeorge Liu default_options: [ 6*94f781a8SGeorge Liu 'warning_level=3', 7*94f781a8SGeorge Liu 'werror=true', 8*94f781a8SGeorge Liu 'cpp_std=c++20', 9*94f781a8SGeorge Liu 'buildtype=debugoptimized', 10*94f781a8SGeorge Liu ] 11*94f781a8SGeorge Liu) 12*94f781a8SGeorge Liu 13*94f781a8SGeorge Liuconf_data = configuration_data() 14*94f781a8SGeorge Liuconf_data.set('RMCP_PING', get_option('rmcp_ping').enabled()) 15*94f781a8SGeorge Liu 16*94f781a8SGeorge Liuconfigure_file(output: 'config.h', 17*94f781a8SGeorge Liu configuration: conf_data 18*94f781a8SGeorge Liu) 19*94f781a8SGeorge Liu 20*94f781a8SGeorge Liusdbusplus_dep = dependency('sdbusplus') 21*94f781a8SGeorge Liuphosphor_dbus_interfaces_dep = dependency('phosphor-dbus-interfaces') 22*94f781a8SGeorge Liuphosphor_logging_dep = dependency('phosphor-logging') 23*94f781a8SGeorge Liulibsystemd_dep = dependency('libsystemd') 24*94f781a8SGeorge Liulibcrypto_dep = dependency('libcrypto') 25*94f781a8SGeorge Liuipmid_dep = dependency('libipmid') 26*94f781a8SGeorge Liuuserlayer_dep = dependency('libuserlayer') 27*94f781a8SGeorge Liuchannellayer_dep = dependency('libchannellayer') 28*94f781a8SGeorge Liumapper = dependency('libmapper') 29*94f781a8SGeorge Liu 30*94f781a8SGeorge Liu# Project Arguments 31*94f781a8SGeorge Liucpp = meson.get_compiler('cpp') 32*94f781a8SGeorge Liuadd_project_arguments( 33*94f781a8SGeorge Liu cpp.get_supported_arguments([ 34*94f781a8SGeorge Liu '-DBOOST_ERROR_CODE_HEADER_ONLY', 35*94f781a8SGeorge Liu '-DBOOST_SYSTEM_NO_DEPRECATED', 36*94f781a8SGeorge Liu '-DBOOST_COROUTINES_NO_DEPRECATION_WARNING', 37*94f781a8SGeorge Liu '-DBOOST_ASIO_DISABLE_THREADS', 38*94f781a8SGeorge Liu '-DBOOST_ALL_NO_LIB', 39*94f781a8SGeorge Liu ]), 40*94f781a8SGeorge Liu language : 'cpp') 41*94f781a8SGeorge Liu 42*94f781a8SGeorge Liudeps = [ 43*94f781a8SGeorge Liu ipmid_dep, 44*94f781a8SGeorge Liu userlayer_dep, 45*94f781a8SGeorge Liu channellayer_dep, 46*94f781a8SGeorge Liu libcrypto_dep, 47*94f781a8SGeorge Liu libsystemd_dep, 48*94f781a8SGeorge Liu phosphor_dbus_interfaces_dep, 49*94f781a8SGeorge Liu phosphor_logging_dep, 50*94f781a8SGeorge Liu sdbusplus_dep, 51*94f781a8SGeorge Liu mapper, 52*94f781a8SGeorge Liu] 53*94f781a8SGeorge Liu 54*94f781a8SGeorge Liusources = [ 55*94f781a8SGeorge Liu 'auth_algo.cpp', 56*94f781a8SGeorge Liu 'sessions_manager.cpp', 57*94f781a8SGeorge Liu 'message_parsers.cpp', 58*94f781a8SGeorge Liu 'message_handler.cpp', 59*94f781a8SGeorge Liu 'command_table.cpp', 60*94f781a8SGeorge Liu 'command/channel_auth.cpp', 61*94f781a8SGeorge Liu 'command/guid.cpp', 62*94f781a8SGeorge Liu 'command/open_session.cpp', 63*94f781a8SGeorge Liu 'command/rakp12.cpp', 64*94f781a8SGeorge Liu 'command/rakp34.cpp', 65*94f781a8SGeorge Liu 'command/session_cmds.cpp', 66*94f781a8SGeorge Liu 'comm_module.cpp', 67*94f781a8SGeorge Liu 'main.cpp', 68*94f781a8SGeorge Liu 'integrity_algo.cpp', 69*94f781a8SGeorge Liu 'crypt_algo.cpp', 70*94f781a8SGeorge Liu 'sd_event_loop.cpp', 71*94f781a8SGeorge Liu 'sol/sol_manager.cpp', 72*94f781a8SGeorge Liu 'sol/sol_context.cpp', 73*94f781a8SGeorge Liu 'command/sol_cmds.cpp', 74*94f781a8SGeorge Liu 'command/payload_cmds.cpp', 75*94f781a8SGeorge Liu 'sol_module.cpp', 76*94f781a8SGeorge Liu] 77*94f781a8SGeorge Liu 78*94f781a8SGeorge Liuexecutable( 79*94f781a8SGeorge Liu 'netipmid', 80*94f781a8SGeorge Liu sources, 81*94f781a8SGeorge Liu implicit_include_directories: true, 82*94f781a8SGeorge Liu include_directories: ['command', 'sol'], 83*94f781a8SGeorge Liu dependencies: deps, 84*94f781a8SGeorge Liu install: true, 85*94f781a8SGeorge Liu install_dir: get_option('bindir') 86*94f781a8SGeorge Liu) 87*94f781a8SGeorge Liu 88*94f781a8SGeorge Liusystemd = dependency('systemd') 89*94f781a8SGeorge Liusystemd_system_unit_dir = systemd.get_variable( 90*94f781a8SGeorge Liu pkgconfig: 'systemdsystemunitdir', 91*94f781a8SGeorge Liu pkgconfig_define: ['prefix', get_option('prefix')]) 92*94f781a8SGeorge Liu 93*94f781a8SGeorge Liuconfigure_file(input: 'phosphor-ipmi-net@.service', 94*94f781a8SGeorge Liu output: 'phosphor-ipmi-net@.service', 95*94f781a8SGeorge Liu copy: true, 96*94f781a8SGeorge Liu install_dir: systemd_system_unit_dir) 97*94f781a8SGeorge Liu 98*94f781a8SGeorge Liuconfigure_file(input: 'phosphor-ipmi-net@.socket', 99*94f781a8SGeorge Liu output: 'phosphor-ipmi-net@.socket', 100*94f781a8SGeorge Liu copy: true, 101*94f781a8SGeorge Liu install_dir: systemd_system_unit_dir) 102*94f781a8SGeorge Liu 103*94f781a8SGeorge Liubuild_tests = get_option('tests') 104*94f781a8SGeorge Liuif not build_tests.disabled() 105*94f781a8SGeorge Liu subdir('test') 106*94f781a8SGeorge Liuendif 107