Generate and build LPP ASN.1 during build time

This commit is contained in:
Robert Schmidt
2022-12-02 15:43:18 +01:00
parent 21a252a275
commit feeb017eb3
6 changed files with 1334 additions and 24 deletions
+1 -24
View File
@@ -524,34 +524,11 @@ target_include_directories(f1ap PUBLIC F1AP_DIR)
target_link_libraries(f1ap PUBLIC asn1_f1ap)
target_link_libraries(f1ap PRIVATE ngap nr_rrc)
# LPP
##############
set(LPP_DIR ${OPENAIR3_DIR}/LPP)
set(LPP_ASN_DIR ${LPP_DIR}/MESSAGES)
set(LPP_ASN_FILES
${LPP_ASN_DIR}/37355-g60.asn
)
# target asn1_lpp in openair3/LPP/MESSAGES/CMakeLists.txt used below
set(LPP_ASN_GENERATED_C_DIR ${asn1_generated_dir}/LPP)
set(lpp_cmd ${OPENAIR_CMAKE}/tools/make_asn1c_includes.sh "LPP_" "-findirect-choice -fno-include-deps" "${LPP_ASN_GENERATED_C_DIR}")
compile_asn1("${LPP_ASN_FILES}" "${lpp_cmd}" lpp_flag)
file(GLOB LPP_ASN_GENERATED_C_FILES ${LPP_ASN_GENERATED_C_DIR}/*.c)
add_library(LPP_LIB
${LPP_ASN_GENERATED_C_FILES}
)
add_dependencies (LPP_LIB lpp_flag)
target_link_libraries(LPP_LIB PRIVATE asn1_nr_rrc asn1_lte_rrc)
include_directories ("${LPP_ASN_GENERATED_C_DIR}")
include_directories ("${LPP_DIR}")
#file(GLOB LPP_C_FILES ${LPP_DIR}/*.c)
#add_library(LPP ${LPP_C_FILES} )
# Hardware dependant options
###################################
add_list1_option(NB_ANTENNAS_RX "4" "Number of antennas in reception" "1" "2" "4")
+1
View File
@@ -1,3 +1,4 @@
add_subdirectory(LPP)
add_subdirectory(M3AP)
add_subdirectory(S1AP)
add_subdirectory(NGAP)
+1
View File
@@ -0,0 +1 @@
add_subdirectory(MESSAGES)
File diff suppressed because it is too large Load Diff
+20
View File
@@ -0,0 +1,20 @@
#set(LPP_VERSION 16 78 0)
#make_version(LPP_cc ${LPP_VERSION})
#add_definitions(-DLPP_VERSION=${LPP_cc})
#string(REPLACE ";" "." LPP_RELEASE "${LPP_VERSION}")
#if(LPP_RELEASE VERSION_EQUAL "16.78.0")
include(ASN1/37355-g60.cmake)
#else()
# message(FATAL_ERROR "unknown LPP_RELEASE ${LPP_RELEASE}")
#endif()
add_custom_command(OUTPUT ${lpp_source} ${lpp_headers}
COMMAND ASN1C_PREFIX=LPP_ asn1c -gen-PER -no-gen-OER -fcompound-names -no-gen-example -findirect-choice -fno-include-deps -D ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${LPP_GRAMMAR}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${LPP_GRAMMAR}
COMMENT "Generating LPP source files from ${CMAKE_CURRENT_SOURCE_DIR}/${LPP_GRAMMAR}"
)
add_library(asn1_lpp ${lpp_source})
target_include_directories(asn1_lpp PUBLIC "${CMAKE_CURRENT_BINARY_DIR}")
target_compile_options(asn1_lpp PRIVATE -DASN_DISABLE_OER_SUPPORT -w)