X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=CMakeLists.txt;h=c1198c29a85ec78b27d13f75ee799f11bbd7358a;hb=2ab92e9426a02446589b6cdcbda6776c02a0a970;hp=1c5ad29fd90b92abeffeaa31bfc4428dec2454c8;hpb=f165e5750fff603b11c8f221b7c36a9db4e8e86e;p=ric-plt%2Ftracelibcpp.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 1c5ad29..c1198c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,13 +30,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 +83,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 +98,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 +128,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