1 # Copyright 2019 AT&T Intellectual Property
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
16 # This source code is part of the near-RT RIC (RAN Intelligent Controller)
17 # platform project (RICP).
19 cmake_minimum_required(VERSION 3.13)
22 set(CMAKE_VERBOSE_MAKEFILE off)
24 set(CMAKE_CXX_STANDARD 17)
26 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEV_PKG=1")
27 set(PROJECT_NAME "e2")
28 set(PROJECT_TEST_NAME "e2")
31 if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
32 #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DASN_DISABLE_OER_SUPPORT -DASN_PDU_COLLECTION -L. -LRIC-E2-TERMINATION/tracelibcpp/build -ggdb3 -Wall -W -Wpedantic")
33 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DASN_DISABLE_OER_SUPPORT -DASN_PDU_COLLECTION -L. -g -ggdb3 -O3 -L/usr/lib -L/usr/local/lib -Wall -Wpedantic")
35 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DASN_DISABLE_OER_SUPPORT -DASN_PDU_COLLECTION -L. -O3 -L/usr/lib -L/usr/local/lib -Wall -W -Wpedantic")
37 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DASN_DISABLE_OER_SUPPORT -DASN_PDU_COLLECTION -L. -ggdb3 --coverage -L/usr/lib -L/usr/local/lib -Wall -Wpedantic")
39 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")
43 include_directories(RIC-E2-TERMINATION
44 RIC-E2-TERMINATION/3rdparty/oranE2
45 RIC-E2-TERMINATION/3rdparty/oranE2SM
46 RIC-E2-TERMINATION/3rdparty/cxxopts/include
47 RIC-E2-TERMINATION/3rdparty
51 file(GLOB E2AP_ASN_MODULE_SRCS "RIC-E2-TERMINATION/3rdparty/oranE2/*.c")
52 file(GLOB E2AP_ASN_MODULE_HDRS "RIC-E2-TERMINATION/3rdparty/oranE2/*.h")
54 add_library(asn1codec ${E2AP_ASN_MODULE_SRCS} ${E2AP_ASN_MODULE_HDRS})
55 install(TARGETS asn1codec DESTINATION /usr/lib)
56 install(FILES ${E2AP_E2AP_ASN_MODULE_HDRS} DESTINATION /usr/include/asn1c)
60 file(GLOB E2SM_ASN_MODULE_SRCS "RIC-E2-TERMINATION/3rdparty/oranE2SM/*.c")
61 file(GLOB E2SM_ASN_MODULE_HDRS "RIC-E2-TERMINATION/3rdparty/oranE2SM/*.h")
63 add_library(asn1ce2smcodec ${E2SM_ASN_MODULE_SRCS} ${E2SM_ASN_MODULE_HDRS})
65 # TARGET asn1ce2smcodec
68 # ARGS --prefix-symbols=e2sm_ libasn1ce2smcodec.a
71 install(TARGETS asn1ce2smcodec DESTINATION /usr/lib)
72 install(FILES ${E2SM_ASN_MODULE_HDRS} DESTINATION /usr/include/asn1c)
74 include_directories(RIC-E2-TERMINATION/TEST)
75 include_directories(RIC-E2-TERMINATION/TEST/e2smTest)
76 include_directories(RIC-E2-TERMINATION/TEST/T1)
77 include_directories(RIC-E2-TERMINATION/TEST/T2)
80 add_definitions(-DBOOST_LOG_DYN_LINK)
104 add_executable(e2 RIC-E2-TERMINATION/sctpThread.cpp
105 RIC-E2-TERMINATION/sctpThread.h
106 RIC-E2-TERMINATION/openTracing.h
107 RIC-E2-TERMINATION/mapWrapper.h
108 RIC-E2-TERMINATION/base64.h
109 RIC-E2-TERMINATION/base64.cpp
110 RIC-E2-TERMINATION/ReadConfigFile.h
111 RIC-E2-TERMINATION/BuildRunName.h
112 RIC-E2-TERMINATION/statCollector.h
113 RIC-E2-TERMINATION/3rdparty/pugixml/src/pugiconfig.hpp
114 RIC-E2-TERMINATION/3rdparty/pugixml/src/pugixml.cpp
115 RIC-E2-TERMINATION/3rdparty/pugixml/src/pugixml.hpp
116 RIC-E2-TERMINATION/BuildXml.h)
117 target_link_libraries(e2 libasn1ce2smcodec.a)
118 target_link_libraries(e2 librmr_nng.a)
119 target_link_libraries(e2 librmr_si.a)
120 target_link_libraries(e2 libicui18n.a)
121 target_link_libraries(e2 libicuuc.a)
122 target_link_libraries(e2 libicudata.a)
124 #target_link_libraries(e2 libnng.a)
126 add_executable(testConfigFile
127 RIC-E2-TERMINATION/ReadConfigFile.h
128 RIC-E2-TERMINATION/TEST/ConfigurationFileTest/testConfigFile.cpp)
130 add_executable(b64Test
131 RIC-E2-TERMINATION/base64.cpp
132 RIC-E2-TERMINATION/base64.h
133 RIC-E2-TERMINATION/TEST/base64/testBase64.cpp)
136 add_executable(sctpClient
137 RIC-E2-TERMINATION/TEST/testAsn/sctpClient/sctpClient.cpp
138 RIC-E2-TERMINATION/TEST/testAsn/sctpClient/sctpClient.h
139 RIC-E2-TERMINATION/TEST/testAsn/rmrClient/rmrClient.h
140 RIC-E2-TERMINATION/TEST/testAsn/httpServer/HttpServer.cpp
141 RIC-E2-TERMINATION/TEST/testAsn/httpServer/HttpServer.h
142 RIC-E2-TERMINATION/base64.h
143 RIC-E2-TERMINATION/base64.cpp
144 RIC-E2-TERMINATION/TEST/T1/E2Builder.h
146 #RIC-E2-TERMINATION/TEST/T1/Test1.cpp
147 #RIC-E2-TERMINATION/TEST/T1/
149 target_link_libraries(sctpClient libpistache.a)
150 target_link_libraries(sctpClient librmr_nng.a)
151 target_link_libraries(sctpClient librmr_si.a)
152 #target_link_libraries(sctpClient libnng.a)
154 add_executable(setUpMessages
155 RIC-E2-TERMINATION/TEST/testAsn/setUpMessages/SetUpMessages.cpp
156 RIC-E2-TERMINATION/BuildRunName.h
159 #find_package(RapidJSON)
161 add_executable(teste2
162 RIC-E2-TERMINATION/TEST/e2test.h
163 RIC-E2-TERMINATION/TEST/e2test.cpp
166 if (CMAKE_BUILD_TYPE STREQUAL "Debug")
167 LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake_modules")
168 set(CMAKE_BUILD_TYPE "Debug")
169 include(cmake-modules/CodeCoverage.cmake)
170 target_link_libraries(${PROJECT_TEST_NAME} gcov)
172 set(LDFLAGS "--coverage -fprofile-arcs")
174 # setup_target_for_coverage_lcov(${PROJECT_NAME}_coverage ${PROJECT_TEST_NAME} coverage)
175 set(COVERAGE_LCOV_EXCLUDES ${PROJECT_SOURCE_DIR}/config'
176 ${PROJECT_SOURCE_DIR}/log'
177 '${PROJECT_SOURCE_DIR}/docs'
178 '${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/3rdparty'
179 '${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/oranE2'
180 '${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/TEST'
181 '${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/config')
183 set(COVERAGE_EXCLUDES '${PROJECT_SOURCE_DIR}/config'
184 ${PROJECT_SOURCE_DIR}/log'
185 '${PROJECT_SOURCE_DIR}/docs'
186 '${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/3rdparty'
187 '${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/oranE2'
188 '${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/TEST'
189 '${PROJECT_SOURCE_DIR}/RIC-E2-TERMINATION/config')
190 append_coverage_compiler_flags()
191 SETUP_TARGET_FOR_COVERAGE_LCOV(NAME e2_coverage