cmake/Agent.cmake (243 lines of code) (raw):
# CMake to build libraries and binaries in fboss/agent
# In general, libraries and binaries in fboss/foo/bar are built by
# cmake/FooBar.cmake
add_library(setup_thrift
fboss/agent/SetupThrift.cpp
fboss/agent/oss/SetupThrift.cpp
)
target_link_libraries(setup_thrift
Folly::folly
FBThrift::thriftcpp2
)
add_library(fboss_init
fboss/agent/oss/FbossInit.cpp
)
target_link_libraries(fboss_init
Folly::folly
)
# TODO (rsunkad) re-enable this library for use with linking with libmain
#add_library(base INTERFACE)
#target_link_libraries(base
# core
# handler
# Folly::folly
#)
add_library(main
fboss/agent/Main.cpp
fboss/agent/oss/Main.cpp
)
target_link_libraries(main
core
handler
# base
fboss_init
setup_thrift
Folly::folly
qsfp_cpp2
qsfp_service_client
)
add_library(async_packet_transport
fboss/agent/AsyncPacketTransport.h
)
target_link_libraries(async_packet_transport
Folly::folly
)
add_library(address_utils
fboss/agent/AddressUtil.h
)
target_link_libraries(address_utils
Folly::folly
)
add_library(utils
fboss/agent/AlpmUtils.cpp
fboss/agent/Utils.cpp
fboss/agent/oss/Utils.cpp
)
target_link_libraries(utils
error
ctrl_cpp2
switch_state_cpp2
Folly::folly
)
add_library(stats
fboss/agent/AggregatePortStats.cpp
fboss/agent/PortStats.cpp
fboss/agent/SwitchStats.cpp
fboss/agent/oss/AggregatePortStats.cpp
)
target_link_libraries(stats
fboss_types
agent_stats_cpp2
state
Folly::folly
)
add_library(fboss_types
fboss/agent/types.cpp
fboss/agent/PortDescriptorTemplate.cpp
)
target_link_libraries(fboss_types
switch_config_cpp2
Folly::folly
)
add_library(core
fboss/agent/AclNexthopHandler.cpp
fboss/agent/ApplyThriftConfig.cpp
fboss/agent/ArpCache.cpp
fboss/agent/ArpHandler.cpp
fboss/agent/DHCPv4Handler.cpp
fboss/agent/DHCPv6Handler.cpp
fboss/agent/FibHelpers.cpp
fboss/agent/FsdbSyncer.cpp
fboss/agent/HwSwitch.cpp
fboss/agent/IPHeaderV4.cpp
fboss/agent/IPv4Handler.cpp
fboss/agent/IPv6Handler.cpp
fboss/agent/L2Entry.cpp
fboss/agent/LacpController.cpp
fboss/agent/LacpMachines.cpp
fboss/agent/LacpTypes.cpp
fboss/agent/LinkAggregationManager.cpp
fboss/agent/LldpManager.cpp
fboss/agent/LoadBalancerConfigApplier.cpp
fboss/agent/LookupClassUpdater.cpp
fboss/agent/LookupClassRouteUpdater.cpp
fboss/agent/MKAServicePorts.cpp
fboss/agent/MKAServiceManager.cpp
fboss/agent/MacTableManager.cpp
fboss/agent/MacTableUtils.cpp
fboss/agent/MirrorManager.cpp
fboss/agent/MirrorManagerImpl.cpp
fboss/agent/MPLSHandler.cpp
fboss/agent/NdpCache.cpp
fboss/agent/NeighborUpdater.cpp
fboss/agent/NeighborUpdaterImpl.cpp
fboss/agent/NeighborUpdaterNoopImpl.cpp
fboss/agent/PortUpdateHandler.cpp
fboss/agent/ResolvedNexthopMonitor.cpp
fboss/agent/ResolvedNexthopProbe.cpp
fboss/agent/ResolvedNexthopProbeScheduler.cpp
fboss/agent/RestartTimeTracker.cpp
fboss/agent/RouteUpdateLogger.cpp
fboss/agent/RouteUpdateLoggingPrefixTracker.cpp
fboss/agent/RouteUpdateWrapper.cpp
fboss/agent/StaticL2ForNeighborObserver.cpp
fboss/agent/StaticL2ForNeighborUpdater.cpp
fboss/agent/StaticL2ForNeighborSwSwitchUpdater.cpp
fboss/agent/SwSwitch.cpp
fboss/agent/SwSwitchRouteUpdateWrapper.cpp
fboss/agent/ThreadHeartbeat.cpp
fboss/agent/TunIntf.cpp
fboss/agent/TunManager.cpp
fboss/agent/ndp/IPv6RouteAdvertiser.cpp
fboss/agent/oss/PacketLogger.cpp
fboss/agent/oss/RouteUpdateLogger.cpp
fboss/agent/oss/SwSwitch.cpp
fboss/agent/oss/FsdbStateDeltaConverter.cpp
fboss/agent/oss/FsdbSyncer.cpp
)
target_link_libraries(core
agent_config_cpp2
stats
utils
fb303::fb303
capture
diag_cmd_filter
hardware_stats_cpp2
hw_switch_stats
switch_asics
ctrl_cpp2
fboss_cpp2
lldp
packet
product_info
platform_base
fib_updater
network_to_route_map
standalone_rib
state
state_utils
exponential_back_off
fboss_config_utils
phy_cpp2
snapshot_manager
transceiver_cpp2
alert_logger
Folly::folly
normalizer
bidirectional_packet_stream
fsdb_stream_client
fsdb_pub_sub
fsdb_flags
${IPROUTE2}
${NETLINK3}
${NETLINKROUTE3}
)
add_library(error
fboss/agent/FbossError.h
)
target_link_libraries(error
ctrl_cpp2
Folly::folly
)
add_library(handler
fboss/agent/ThriftHandler.cpp
)
target_link_libraries(handler
core
pkt
fb303::fb303
ctrl_cpp2
log_thrift_call
Folly::folly
)
target_link_libraries(fboss_types
switch_config_cpp2
Folly::folly
)
add_library(fboss_error
fboss/agent/FbossError.h
fboss/agent/SysError.h
)
target_link_libraries(fboss_error
fboss_cpp2
fboss_types
Folly::folly
)
add_library(platform_base
fboss/agent/AgentConfig.cpp
fboss/agent/Platform.cpp
fboss/agent/PlatformPort.cpp
)
target_link_libraries(platform_base
agent_config_cpp2
ctrl_cpp2
error
fboss_types
Folly::folly
platform_mapping
)
add_library(hw_switch
fboss/agent/HwSwitch.cpp
)
target_link_libraries(hw_switch
fboss_types
ctrl_cpp2
fboss_cpp2
Folly::folly
platform_base
hw_switch_stats
)
add_library(async_logger
fboss/agent/AsyncLogger.cpp
)
target_link_libraries(async_logger
fboss_error
fb303::fb303
Folly::folly
)
add_library(sflow_shim_utils
fboss/agent/SflowShimUtils.cpp
)
target_link_libraries(sflow_shim_utils
Folly::folly
)