1642f437eSKuiying Wangproject( 2642f437eSKuiying Wang 'biosconfig-manager', 3642f437eSKuiying Wang 'cpp', 4fb928424SGeorge Liu meson_version: '>=0.58.0', 5642f437eSKuiying Wang default_options: [ 6642f437eSKuiying Wang 'warning_level=3', 7642f437eSKuiying Wang 'werror=true', 8fb928424SGeorge Liu 'cpp_std=c++20', 9fb928424SGeorge Liu 'buildtype=debugoptimized' 10642f437eSKuiying Wang ], 11642f437eSKuiying Wang license: 'Apache-2.0', 12642f437eSKuiying Wang version: '1.0', 13642f437eSKuiying Wang) 14642f437eSKuiying Wang 15642f437eSKuiying Wang# Wno-psabi reduces the number of "Note:" messages when cross-compiling some STL 16642f437eSKuiying Wang# stuff for ARM. See https://stackoverflow.com/questions/48149323/strange-gcc-warning-when-compiling-qt-project 17642f437eSKuiying Wang# Basically, gcc 6 and gcc 7 are not ABI compatible, but since the whole OpenBMC 18642f437eSKuiying Wang# project uses the same compiler, we can safely ignmore these info notes. 19642f437eSKuiying Wangadd_project_arguments('-Wno-psabi', language: 'cpp') 20642f437eSKuiying Wang 21f1101df2STom Josephconf_data = configuration_data() 22f1101df2STom Josephconf_data.set_quoted('BIOS_PERSIST_PATH', get_option('bios-persist-path')) 23f1101df2STom Josephconfigure_file(output: 'config.h', configuration: conf_data) 24f1101df2STom Joseph 25642f437eSKuiying Wangboost_args = ['-DBOOST_ALL_NO_LIB', 26642f437eSKuiying Wang '-DBOOST_ASIO_DISABLE_THREADS', 27642f437eSKuiying Wang '-DBOOST_ERROR_CODE_HEADER_ONLY', 28642f437eSKuiying Wang '-DBOOST_NO_RTTI', 29642f437eSKuiying Wang '-DBOOST_NO_TYPEID', 30642f437eSKuiying Wang '-DBOOST_SYSTEM_NO_DEPRECATED'] 31642f437eSKuiying Wang 32642f437eSKuiying Wangdeps = [dependency('boost'), 33642f437eSKuiying Wang dependency('phosphor-dbus-interfaces'), 34642f437eSKuiying Wang dependency('phosphor-logging'), 35642f437eSKuiying Wang dependency('sdbusplus'), 36642f437eSKuiying Wang dependency('systemd'), 378f706213SKuiying Wang dependency('openssl'), 38642f437eSKuiying Wang] 39642f437eSKuiying Wang 40642f437eSKuiying Wangexecutable('biosconfig-manager', 41642f437eSKuiying Wang 'src/manager.cpp', 42f1101df2STom Joseph 'src/manager_serialize.cpp', 43f1101df2STom Joseph implicit_include_directories: true, 44642f437eSKuiying Wang include_directories: ['include'], 45642f437eSKuiying Wang dependencies: deps, 46642f437eSKuiying Wang cpp_args : boost_args, 47642f437eSKuiying Wang install: true, 48642f437eSKuiying Wang install_dir: get_option('bindir')) 49642f437eSKuiying Wang 508f706213SKuiying Wangexecutable('biosconfig-password', 518f706213SKuiying Wang 'src/password.cpp', 528f706213SKuiying Wang implicit_include_directories: true, 538f706213SKuiying Wang include_directories: ['include'], 548f706213SKuiying Wang dependencies: deps, 558f706213SKuiying Wang cpp_args : boost_args, 568f706213SKuiying Wang install: true, 578f706213SKuiying Wang install_dir: get_option('bindir')) 588f706213SKuiying Wang 59642f437eSKuiying Wangsystemd = dependency('systemd') 60*6a7ee5c2SGeorge Liusystemd_system_unit_dir = systemd.get_variable( 61*6a7ee5c2SGeorge Liu pkgconfig: 'systemdsystemunitdir', 62*6a7ee5c2SGeorge Liu pkgconfig_define: ['prefix', get_option('prefix')]) 63642f437eSKuiying Wang 64642f437eSKuiying Wangconfigure_file( 65642f437eSKuiying Wang copy: true, 66642f437eSKuiying Wang input: 'service_files/xyz.openbmc_project.biosconfig_manager.service', 67642f437eSKuiying Wang install: true, 68642f437eSKuiying Wang install_dir: systemd_system_unit_dir, 69642f437eSKuiying Wang output: 'xyz.openbmc_project.biosconfig_manager.service' 70642f437eSKuiying Wang) 718f706213SKuiying Wang 728f706213SKuiying Wangconfigure_file( 738f706213SKuiying Wang copy: true, 748f706213SKuiying Wang input: 'service_files/xyz.openbmc_project.biosconfig_password.service', 758f706213SKuiying Wang install: true, 768f706213SKuiying Wang install_dir: systemd_system_unit_dir, 778f706213SKuiying Wang output: 'xyz.openbmc_project.biosconfig_password.service' 788f706213SKuiying Wang)