src_includes = include_directories('.') stdplus_dep = dependency('stdplus') executable( 'ncsi-netlink', 'argument.cpp', 'ncsi_netlink_main.cpp', 'ncsi_util.cpp', implicit_include_directories: false, include_directories: src_includes, dependencies: [ dependency('libnl-3.0'), dependency('libnl-genl-3.0'), stdplus_dep, ], install: true, install_dir: get_option('bindir')) json_dep = declare_dependency() if get_option('sync-mac') # nlohmann_json might not have a pkg-config. It is header only so just make # sure we can access the needed symbols from the header. has_json = meson.get_compiler('cpp').has_header_symbol( 'nlohmann/json.hpp', 'nlohmann::json::string_t', required: false) if not has_json json_dep = dependency('nlohmann_json') endif endif networkd_deps = [ json_dep, phosphor_dbus_interfaces_dep, dependency('phosphor-logging'), networkd_dbus_dep, sdbusplus_dep, dependency('sdeventplus'), stdplus_dep, ] conf_header = configure_file( output: 'config.h', configuration: conf_data) networkd_lib = static_library( 'networkd', conf_header, 'ethernet_interface.cpp', 'neighbor.cpp', 'ipaddress.cpp', 'netlink.cpp', 'network_manager.cpp', 'system_configuration.cpp', 'system_queries.cpp', 'types.cpp', 'util.cpp', 'routing_table.cpp', 'config_parser.cpp', 'dhcp_configuration.cpp', 'rtnetlink_server.cpp', 'dns_updater.cpp', implicit_include_directories: false, include_directories: src_includes, dependencies: networkd_deps) networkd_dep = declare_dependency( sources: conf_header, dependencies: networkd_deps, include_directories: src_includes, link_with: networkd_lib) executable( 'phosphor-network-manager', 'network_manager_main.cpp', implicit_include_directories: false, dependencies: networkd_dep, install: true, install_dir: get_option('bindir')) if (get_option('hyp-nw-config') == true) subdir('ibm') endif