Drop opentracing build
[ric-plt/tracelibcpp.git] / CMakeLists.txt
index 1c5ad29..c1198c2 100644 (file)
@@ -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