X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=RIC-E2-TERMINATION%2FCMakeLists.txt;h=95f9a1bb11a541f76bdecbc3486e496cdcfaf05f;hb=HEAD;hp=07bf50fc2a0cf003da4e98c7c5f45684d51a9a87;hpb=bc6da786e9732ded86f4a53f915aa8d0a44dba84;p=ric-plt%2Fe2.git diff --git a/RIC-E2-TERMINATION/CMakeLists.txt b/RIC-E2-TERMINATION/CMakeLists.txt index 07bf50f..95f9a1b 100644 --- a/RIC-E2-TERMINATION/CMakeLists.txt +++ b/RIC-E2-TERMINATION/CMakeLists.txt @@ -39,18 +39,39 @@ else () set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DASN_DISABLE_OER_SUPPORT -DASN_PDU_COLLECTION -L. -ggdb3 -L/usr/lib -L/usr/local/lib -Wall -W -Wpedantic") endif () + include_directories(RIC-E2-TERMINATION RIC-E2-TERMINATION/3rdparty/oranE2 + RIC-E2-TERMINATION/3rdparty/oranE2SM + RIC-E2-TERMINATION/3rdparty/cxxopts/include + RIC-E2-TERMINATION/3rdparty/prometheus-cpp + RIC-E2-TERMINATION/3rdparty/prometheus-cpp/core/include RIC-E2-TERMINATION/3rdparty cmake-modules) -file(GLOB ASN_MODULE_SRCS "RIC-E2-TERMINATION/3rdparty/oranE2/*.c") -file(GLOB ASN_MODULE_HDRS "RIC-E2-TERMINATION/3rdparty/oranE2/*.h") - -add_library(asn1codec ${ASN_MODULE_SRCS} ${ASN_MODULE_HDRS}) +#E2AP library +file(GLOB E2AP_ASN_MODULE_SRCS "RIC-E2-TERMINATION/3rdparty/oranE2/*.c") +file(GLOB E2AP_ASN_MODULE_HDRS "RIC-E2-TERMINATION/3rdparty/oranE2/*.h") +add_library(asn1codec ${E2AP_ASN_MODULE_SRCS} ${E2AP_ASN_MODULE_HDRS}) install(TARGETS asn1codec DESTINATION /usr/lib) -install(FILES ${ASN_MODULE_HDRS} DESTINATION /usr/include/asn1c) +install(FILES ${E2AP_E2AP_ASN_MODULE_HDRS} DESTINATION /usr/include/asn1c) + + +#E2SM library +file(GLOB E2SM_ASN_MODULE_SRCS "RIC-E2-TERMINATION/3rdparty/oranE2SM/*.c") +file(GLOB E2SM_ASN_MODULE_HDRS "RIC-E2-TERMINATION/3rdparty/oranE2SM/*.h") + +add_library(asn1ce2smcodec ${E2SM_ASN_MODULE_SRCS} ${E2SM_ASN_MODULE_HDRS}) +#add_custom_command( +# TARGET asn1ce2smcodec +# POST_BUILD +# COMMAND objcopy +# ARGS --prefix-symbols=e2sm_ libasn1ce2smcodec.a +#) + +install(TARGETS asn1ce2smcodec DESTINATION /usr/lib) +install(FILES ${E2SM_ASN_MODULE_HDRS} DESTINATION /usr/include/asn1c) include_directories(RIC-E2-TERMINATION/TEST) include_directories(RIC-E2-TERMINATION/TEST/e2smTest) @@ -67,9 +88,9 @@ link_libraries(nsl m dl mdclog - rmr_nng - nng + rmr_si asn1codec + asn1ce2smcodec boost_system boost_log_setup boost_log @@ -77,8 +98,14 @@ link_libraries(nsl boost_thread boost_system rt + tbb boost_filesystem cgreen + prometheus-cpp-core + prometheus-cpp-pull + prometheus-cpp-push + z + curl pthread) add_executable(e2 RIC-E2-TERMINATION/sctpThread.cpp @@ -88,13 +115,20 @@ add_executable(e2 RIC-E2-TERMINATION/sctpThread.cpp RIC-E2-TERMINATION/base64.h RIC-E2-TERMINATION/base64.cpp RIC-E2-TERMINATION/ReadConfigFile.h - RIC-E2-TERMINATION/BuildRunName.h) - -target_link_libraries(e2 librmr_nng.a) + RIC-E2-TERMINATION/BuildRunName.h + # RIC-E2-TERMINATION/3rdparty/pugixml/src/pugiconfig.hpp + # RIC-E2-TERMINATION/3rdparty/pugixml/src/pugixml.cpp + # RIC-E2-TERMINATION/3rdparty/pugixml/src/pugixml.hpp + # RIC-E2-TERMINATION/BuildXml.h + ) +target_link_libraries(e2 libasn1ce2smcodec.a) target_link_libraries(e2 librmr_si.a) target_link_libraries(e2 libicui18n.a) target_link_libraries(e2 libicuuc.a) target_link_libraries(e2 libicudata.a) +target_link_libraries(e2 prometheus-cpp-core.a) +target_link_libraries(e2 prometheus-cpp-pull.a) +target_link_libraries(e2 prometheus-cpp-push.a) #target_link_libraries(e2 libnng.a) @@ -121,10 +155,8 @@ add_executable(sctpClient #RIC-E2-TERMINATION/TEST/T1/Test1.cpp #RIC-E2-TERMINATION/TEST/T1/ ) -target_link_libraries(sctpClient libpistache.a) -target_link_libraries(sctpClient librmr_nng.a) +target_link_libraries(sctpClient libpistache.so) target_link_libraries(sctpClient librmr_si.a) -#target_link_libraries(sctpClient libnng.a) add_executable(setUpMessages RIC-E2-TERMINATION/TEST/testAsn/setUpMessages/SetUpMessages.cpp @@ -138,6 +170,24 @@ add_executable(teste2 RIC-E2-TERMINATION/TEST/e2test.cpp ) + +# Locate GTest +string(REPLACE " " ";" REPLACED_FLAGS ${CMAKE_CXX_FLAGS}) +string(CONCAT FINAL_FLAG ${REPLACED_FLAGS} ";-DUNIT_TEST") +find_package(GTest REQUIRED) +include_directories(${GTEST_INCLUDE_DIRS}) +# Link runTests with what we want to test and the GTest and pthread library +add_executable(sctp_test /opt/e2/RIC-E2-TERMINATION/TEST/sctp_thread_test.cpp + RIC-E2-TERMINATION/sctpThread.h + RIC-E2-TERMINATION/sctpThread.cpp + RIC-E2-TERMINATION/base64.h + RIC-E2-TERMINATION/base64.cpp + + ) +target_link_libraries(sctp_test ${GTEST_LIBRARIES} pthread) +target_compile_options(sctp_test PRIVATE ${FINAL_FLAG}) + + if (CMAKE_BUILD_TYPE STREQUAL "Debug") LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake_modules") set(CMAKE_BUILD_TYPE "Debug") @@ -145,15 +195,13 @@ if (CMAKE_BUILD_TYPE STREQUAL "Debug") target_link_libraries(${PROJECT_TEST_NAME} gcov) set(LDFLAGS "--coverage -fprofile-arcs") + message("PROJECT_SOURCE_DIR: ${PROJECT_SOURCE_DIR}") # setup_target_for_coverage_lcov(${PROJECT_NAME}_coverage ${PROJECT_TEST_NAME} coverage) - set(COVERAGE_LCOV_EXCLUDES ${PROJECT_SOURCE_DIR}/config' - ${PROJECT_SOURCE_DIR}/log' - '${PROJECT_SOURCE_DIR}/docs' - '${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/3rdparty' - '${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/oranE2' - '${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/TEST' - '${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/config') + set(COVERAGE_LCOV_EXCLUDES "${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/3rdparty/*" + "${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/oranE2/*" + "${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/TEST/*" + "${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/config/*") set(COVERAGE_EXCLUDES '${PROJECT_SOURCE_DIR}/config' ${PROJECT_SOURCE_DIR}/log' @@ -164,6 +212,6 @@ if (CMAKE_BUILD_TYPE STREQUAL "Debug") '${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/config') append_coverage_compiler_flags() SETUP_TARGET_FOR_COVERAGE_LCOV(NAME e2_coverage - EXECUTABLE e2 + EXECUTABLE e2 DEPENDENCIES e2) -endif () \ No newline at end of file +endif ()