Move radio CMakeLists.txt to subdirectory
- move following radios: AW2S, BladeRF, IRIS, LMSSDR, RFsimulator, USRP - move following transports: Ethernet, benetel4g, benetel5g - for each: create independent cmake variable to switch compilation on/off, in order: OAI_AW2S, OAI_BLADERF, OAI_IRIS, OAI_LMSSDR, OAI_SIMU, OAI_USRP, OAI_ETHERNET, OAI_BENETEL4G, OAI_BENETEL5G - Remove RF_BOARD variable, allows to compile multiple boards at once - where applicable: remove USERSPACE/LIB in path, i.e., move files up to directories, as all are userspace libraries Note that with the above, it is now mandatory to enable a radio implementation before compiling it, e.g., for USRP: ./build_oai -w USRP cmake .. -DOAI_USRP=ON && ninja oai_usrpdevif
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
find_library(ori NAMES "libori.so" REQUIRED)
|
||||
if(NOT ori)
|
||||
message(FATAL_ERROR "cannot locate libori.so, required to build aw2sori_transpro")
|
||||
endif()
|
||||
# force that oai_eth_transpro is built as well, as aw2sori_transpro requires it
|
||||
if(NOT OAI_ETHERNET)
|
||||
message(FATAL_ERROR "aw2sori_transpro requires oai_eth_transpro, please enable OAI_ETHERNET (-DOAI_ETHERNET=ON for cmake, or ./build_oai -t Ethernet)")
|
||||
endif()
|
||||
|
||||
add_library(aw2sori_transpro MODULE oaiori.c)
|
||||
target_compile_options(aw2sori_transpro PRIVATE -shared -fPIC -msse4 -g -ggdb -DLITE_COMPILATION)
|
||||
target_link_libraries(aw2sori_transpro PRIVATE ori oai_eth_transpro)
|
||||
set_target_properties(aw2sori_transpro PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
@@ -0,0 +1,4 @@
|
||||
pkg_check_modules(bladeRF REQUIRED libbladeRF)
|
||||
add_library(oai_bladerfdevif MODULE bladerf_lib.c)
|
||||
target_link_libraries(oai_bladerfdevif PRIVATE bladeRF)
|
||||
set_target_properties(oai_bladerfdevif PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
@@ -0,0 +1,34 @@
|
||||
add_boolean_option(OAI_AW2SORI OFF "Activate OAI's AW2S driver" OFF)
|
||||
if(OAI_AW2SORI)
|
||||
add_subdirectory(AW2SORI)
|
||||
endif()
|
||||
|
||||
add_boolean_option(OAI_ETHERNET OFF "Activate OAI's Ethernet transport driver" OFF)
|
||||
if(OAI_ETHERNET)
|
||||
add_subdirectory(ETHERNET)
|
||||
endif()
|
||||
|
||||
add_boolean_option(OAI_BLADERF OFF "Activate OAI's BladeRF driver" OFF)
|
||||
if(OAI_BLADERF)
|
||||
add_subdirectory(BLADERF)
|
||||
endif()
|
||||
|
||||
add_boolean_option(OAI_IRIS OFF "Activate OAI's IRIS/SoapySDR driver" OFF)
|
||||
if(OAI_IRIS)
|
||||
add_subdirectory(IRIS)
|
||||
endif()
|
||||
|
||||
add_boolean_option(OAI_LMSSDR OFF "Activate OAI's LimeSDR driver" OFF)
|
||||
if(OAI_LMSSDR)
|
||||
add_subdirectory(LMSSDR)
|
||||
endif()
|
||||
|
||||
add_boolean_option(OAI_SIMU ON "Activate OAI's rfsimulator driver" OFF)
|
||||
if(OAI_SIMU)
|
||||
add_subdirectory(rfsimulator)
|
||||
endif()
|
||||
|
||||
add_boolean_option(OAI_USRP OFF "Activate OAI's USRP driver" OFF)
|
||||
if(OAI_USRP)
|
||||
add_subdirectory(USRP)
|
||||
endif()
|
||||
@@ -0,0 +1,9 @@
|
||||
add_library(oai_eth_transpro MODULE
|
||||
ethernet_lib.c
|
||||
eth_udp.c
|
||||
eth_raw.c
|
||||
)
|
||||
target_include_directories(oai_eth_transpro PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set_target_properties(oai_eth_transpro PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
|
||||
add_subdirectory(benetel)
|
||||
@@ -0,0 +1,17 @@
|
||||
pkg_check_modules(libdpdk REQUIRED libdpdk=20.05.0)
|
||||
|
||||
add_library(benetel_4g MODULE
|
||||
benetel.c
|
||||
shared_buffers.c
|
||||
low.c
|
||||
low_dpdk.c
|
||||
dpdk_driver.c
|
||||
)
|
||||
|
||||
target_compile_definitions(benetel_4g PROPERTIES COMPILE_FLAGS "-fvisibility=hidden -I$ENV{RTE_SDK}/$ENV{RTE_TARGET}/include")
|
||||
|
||||
SET(DPDK_LIBS "-Wl,-rpath,$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -Wl,--whole-archive -L$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -ldpdk -Wl,--no-whole-archive")
|
||||
target_include_directories(benetel_4g PRIVATE ${libdpdk_INCLUDE_DIRS})
|
||||
target_link_libraries(benetel_4g PRIVATE ${libdpdk_LIBRARIES})
|
||||
target_link_libraries(benetel_4g PRIVATE pthread dl rt m numa)
|
||||
set_target_properties(benetel_4g PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
@@ -0,0 +1,16 @@
|
||||
pkg_check_modules(libdpdk REQUIRED libdpdk=20.05.0)
|
||||
|
||||
add_library(benetel_5g MODULE
|
||||
benetel.c
|
||||
shared_buffers.c
|
||||
low.c
|
||||
low_dpdk.c
|
||||
dpdk_driver.c
|
||||
)
|
||||
|
||||
SET(DPDK_LIBS "-Wl,-rpath,$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -Wl,--whole-archive -L$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -ldpdk -Wl,--no-whole-archive")
|
||||
target_include_directories(benetel_5g PRIVATE ${libdpdk_INCLUDE_DIRS})
|
||||
target_link_libraries(benetel_5g PRIVATE ${libdpdk_LIBRARIES})
|
||||
target_link_libraries(benetel_5g PRIVATE pthread dl rt m numa)
|
||||
set_target_properties(benetel_5g PROPERTIES COMPILE_FLAGS "-fvisibility=hidden -I$ENV{RTE_SDK}/$ENV{RTE_TARGET}/include")
|
||||
set_target_properties(benetel_5g PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
@@ -0,0 +1,9 @@
|
||||
add_boolean_option(OAI_BENETEL4G OFF "Activate OAI's Benetel 4G radio driver" OFF)
|
||||
if(OAI_BENETEL4G)
|
||||
add_subdirectory(4g)
|
||||
endif()
|
||||
|
||||
add_boolean_option(OAI_BENETEL5G OFF "Activate OAI's Benetel 5G radio driver" OFF)
|
||||
if(OAI_BENETEL5G)
|
||||
add_subdirectory(5g)
|
||||
endif()
|
||||
@@ -19,7 +19,7 @@
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
/*! \file radio/ETHERNET/USERSPACE/LIB/if_defs.h
|
||||
/*! \file radio/ETHERNET/if_defs.h
|
||||
* \brief
|
||||
* \author S. Sandeep Kumar, Raymond Knopp
|
||||
* \date 2016
|
||||
@@ -0,0 +1,5 @@
|
||||
find_package(SoapySDR REQUIRED)
|
||||
|
||||
add_library(oai_irisdevif MODULE iris_lib.cpp)
|
||||
target_link_libraries(oai_irisdevif PRIVATE SoapySDR)
|
||||
set_target_properties(oai_irisdevif PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
@@ -0,0 +1,5 @@
|
||||
find_package(LimeSuite REQUIRED)
|
||||
|
||||
add_library(oai_lmssdrdevif MODULE lms_lib.cpp)
|
||||
target_link_libraries(oai_lmssdrdevif LimeSuite )
|
||||
set_target_properties(oai_lmssdrdevif PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
@@ -0,0 +1,7 @@
|
||||
#find_package(Boost REQUIRED)
|
||||
find_package(UHD REQUIRED)
|
||||
|
||||
add_library(oai_usrpdevif MODULE usrp_lib.cpp)
|
||||
#target_include_directories(oai_usrpdevif PRIVATE Boost::boost)
|
||||
target_link_libraries(oai_usrpdevif uhd)
|
||||
set_target_properties(oai_usrpdevif PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
@@ -0,0 +1,11 @@
|
||||
add_library(rfsimulator MODULE
|
||||
simulator.c
|
||||
apply_channelmod.c
|
||||
../../openair1/PHY/TOOLS/signal_energy.c
|
||||
)
|
||||
target_link_libraries(rfsimulator PRIVATE SIMU)
|
||||
target_link_libraries(rfsimulator PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
||||
set_target_properties(rfsimulator PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
|
||||
add_executable(replay_node stored_node.c)
|
||||
target_link_libraries (replay_node minimal_lib)
|
||||
Reference in New Issue
Block a user