X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=CMakeLists.txt;h=e0e8e741db2ef26160891bbbdf67d85aef44e90c;hb=8a185f90677984bd001a82988d680ec4d772fb2f;hp=1c5ad29fd90b92abeffeaa31bfc4428dec2454c8;hpb=f165e5750fff603b11c8f221b7c36a9db4e8e86e;p=ric-plt%2Ftracelibcpp.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 1c5ad29..e0e8e74 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # - +# This source code is part of the near-RT RIC (RAN Intelligent Controller) +# platform project (RICP). +# cmake_minimum_required (VERSION 3.5) file( @@ -30,13 +32,50 @@ HunterGate( project(tracelibcpp LANGUAGES CXX C) set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/cxx1.cmake) +add_compile_options(-Wall -Wextra -Werror) +set(CMAKE_CXX_STANDARD 11) + +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release) +endif() + +set(CMAKE_CXX_FLAGS_DEBUG "-g -O0") +set(CMAKE_CXX_FLAGS_RELEASE "-O2") set (tracelibcpp_VERSION_MAJOR "0") set (tracelibcpp_VERSION_MINOR "0") -set (tracelibcpp_VERSION_MICRO "1") +set (tracelibcpp_VERSION_MICRO "5") set (tracelibcpp_VERSION_STRING "${tracelibcpp_VERSION_MAJOR}.${tracelibcpp_VERSION_MINOR}.${tracelibcpp_VERSION_MICRO}") +# Set up cpack +# Common +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "C++ implementation RIC tracing initialization") +set(CPACK_PACKAGE_VENDOR "Nokia") +set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md") +set(CPACK_PACKAGE_VERSION_MAJOR ${tracelibcpp_VERSION_MAJOR}) +set(CPACK_PACKAGE_VERSION_MINOR ${tracelibcpp_VERSION_MINOR}) +set(CPACK_PACKAGE_VERSION_PATCH ${tracelibcpp_VERSION_MICRO}) +set(CPACK_COMPONENTS_ALL DIST DEVEL) +set(CPACK_COMPONENTS_GROUPING ONE_PER_GROUP ) +set(CPACK_GENERATOR "RPM;DEB") +set(CPACK_COMPONENTS_IGNORE_GROUPS 1) +set(CPACK_PACKAGE_CONTACT None) + +# RPM +set(CPACK_RPM_COMPONENT_INSTALL ON) +set(CPACK_RPM_PACKAGE_GROUP "Development/Libraries") +set(CPACK_RPM_FILE_NAME RPM-DEFAULT) +set(CPACK_RPM_PACKAGE_AUTOREQ 1) + +# Debian +set(CPACK_DEB_COMPONENT_INSTALL ON) +set(CPACK_DEB_PACKAGE_COMPONENT ON) +set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) +set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) + +include(CPack) + # Add jaeger hunter_add_package(jaegertracing) find_package(jaegertracing CONFIG REQUIRED) @@ -46,11 +85,14 @@ find_package(jaegertracing CONFIG REQUIRED) option(WITH_TESTING "Include using testing support" OFF) include_directories ("${PROJECT_SOURCE_DIR}/include/tracelibcpp") +include_directories ("${PROJECT_SOURCE_DIR}/src") add_library(tracelibcpp SHARED src/tracelib.cpp ) +# Library versions are on by default +# i.e. so versions option(WITH_VERSION "Support for library versioning" ON) if (WITH_VERSION) @@ -58,10 +100,6 @@ if (WITH_VERSION) SOVERSION ${tracelibcpp_VERSION_MAJOR}) endif (WITH_VERSION) -# Library versions are on by default -# i.e. so versions -option(WITH_VERSION "Support for library versioning" ON) - if (WITH_VERSION) set_target_properties(tracelibcpp PROPERTIES VERSION ${tracelibcpp_VERSION_STRING} SOVERSION ${tracelibcpp_VERSION_MAJOR}) @@ -92,6 +130,12 @@ install(TARGETS tracelibcpp # Add google test if (WITH_TESTING) + file( + DOWNLOAD https://raw.githubusercontent.com/bilke/cmake-modules/72d804cfbcf82a1e171200c9c02748fa4b7ea033/CodeCoverage.cmake + ${CMAKE_BINARY_DIR}/CodeCoverage.cmake) + + include("${CMAKE_BINARY_DIR}/CodeCoverage.cmake") + APPEND_COVERAGE_COMPILER_FLAGS() hunter_add_package(GTest) find_package(GTest CONFIG REQUIRED) add_executable(testrunner