Improved coverage report instructions.
[platform/core/security/vasum.git] / CMakeLists.txt
index 308fb45..0409167 100644 (file)
@@ -20,6 +20,9 @@
 CMAKE_MINIMUM_REQUIRED (VERSION 2.6.2)
 PROJECT(vasum)
 
+IF(NOT DEFINED VERSION)
+    SET(VERSION "0.1.1")
+ENDIF(NOT DEFINED VERSION)
 
 ## pkgconfig ###################################################################
 INCLUDE(FindPkgConfig)
@@ -29,10 +32,10 @@ INCLUDE(FindPkgConfig)
 INCLUDE(GNUInstallDirs)
 
 ## Color output if it's possible:
-IF (( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8.3))
+IF (( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9))
       OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" ))
 
-    ADD_DEFINITIONS("-fdiagnostics-color=always")
+    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
 ENDIF()
 
 ## Compiler flags, depending on the build type #################################
@@ -60,8 +63,8 @@ SET(CMAKE_C_FLAGS_DEBUG        "-g -O0 -ggdb")
 SET(CMAKE_CXX_FLAGS_DEBUG      "-g -std=${CXX_11_STD} -O0 -ggdb")
 SET(CMAKE_C_FLAGS_RELEASE      "-g -O2 -DNDEBUG")
 SET(CMAKE_CXX_FLAGS_RELEASE    "-g -std=${CXX_11_STD} -O2 -DNDEBUG")
-SET(CMAKE_C_FLAGS_CCOV         "-g -O2 --coverage")
-SET(CMAKE_CXX_FLAGS_CCOV       "-g -std=${CXX_11_STD} -O2 --coverage")
+SET(CMAKE_C_FLAGS_CCOV         "-g -O0 --coverage")
+SET(CMAKE_CXX_FLAGS_CCOV       "-g -std=${CXX_11_STD} -O0 --coverage")
 
 IF(DEFINED SANITIZE)
     # Enable sanitize build.
@@ -90,7 +93,7 @@ ADD_DEFINITIONS(-D__STDC_LIMIT_MACROS)
 
 IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
     # Warn about documentation problems
-    ADD_DEFINITIONS("-Wdocumentation")
+    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wdocumentation")
 
     IF(ALL_WARNINGS)
         # turn on every -W flags except a few explicitly mentioned
@@ -122,7 +125,12 @@ ADD_DEFINITIONS(-DVASUM_USER="${VASUM_USER}")
 ADD_DEFINITIONS(-DINPUT_EVENT_GROUP="${INPUT_EVENT_GROUP}")
 ADD_DEFINITIONS(-DDISK_GROUP="${DISK_GROUP}")
 ADD_DEFINITIONS(-DTTY_GROUP="${TTY_GROUP}")
-#ADD_DEFINITIONS(-DDBUS_CONNECTION)
+IF(NOT WITHOUT_DBUS)
+    ADD_DEFINITIONS(-DDBUS_CONNECTION)
+ENDIF(NOT WITHOUT_DBUS)
+IF(NOT WITHOUT_SYSTEMD)
+    ADD_DEFINITIONS(-DHAVE_SYSTEMD)
+ENDIF(NOT WITHOUT_SYSTEMD)
 
 ## Python packages directory ###################################################
 IF(NOT DEFINED PYTHON_SITELIB)
@@ -133,49 +141,71 @@ ENDIF(NOT DEFINED PYTHON_SITELIB)
 
 ## Subdirectories ##############################################################
 SET(COMMON_FOLDER ${PROJECT_SOURCE_DIR}/common)
+SET(LIBS_FOLDER ${PROJECT_SOURCE_DIR}/libs)
+SET(LOGGER_FOLDER ${PROJECT_SOURCE_DIR}/libs/logger)
+SET(DBUS_FOLDER ${PROJECT_SOURCE_DIR}/libs/dbus)
+SET(CONFIG_FOLDER ${PROJECT_SOURCE_DIR}/libs/config)
+SET(IPC_FOLDER ${PROJECT_SOURCE_DIR}/libs/ipc)
+SET(LXCPP_FOLDER ${PROJECT_SOURCE_DIR}/libs/lxcpp)
 SET(CLIENT_FOLDER ${PROJECT_SOURCE_DIR}/client)
 SET(SERVER_FOLDER ${PROJECT_SOURCE_DIR}/server)
 SET(ZONE_SUPPORT_FOLDER ${PROJECT_SOURCE_DIR}/zone-support)
 SET(ZONE_DAEMON_FOLDER ${PROJECT_SOURCE_DIR}/zone-daemon)
 SET(TESTS_FOLDER ${PROJECT_SOURCE_DIR}/tests)
 SET(CLI_FOLDER ${PROJECT_SOURCE_DIR}/cli)
+SET(WRAPPER_FOLDER ${PROJECT_SOURCE_DIR}/wrapper)
+
 
 IF(NOT DEFINED SYSCONF_INSTALL_DIR)
     SET(SYSCONF_INSTALL_DIR "/etc")
 ENDIF(NOT DEFINED SYSCONF_INSTALL_DIR)
 
 IF(NOT DEFINED LIB_INSTALL_DIR)
-    SET(LIB_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBDIR}")
+    SET(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
 ENDIF(NOT DEFINED LIB_INSTALL_DIR)
 
 IF(NOT DEFINED INCLUDE_INSTALL_DIR)
-    SET(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
+    SET(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}")
 ENDIF(NOT DEFINED INCLUDE_INSTALL_DIR)
 
 IF(NOT DEFINED SCRIPT_INSTALL_DIR)
-    SET(SCRIPT_INSTALL_DIR "${CMAKE_INSTALL_FULL_SBINDIR}")
+    SET(SCRIPT_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_SBINDIR}")
 ENDIF(NOT DEFINED SCRIPT_INSTALL_DIR)
 
-IF(NOT DEFINED SHARE_INSTALL_PREFIX)
-    SET(SHARE_INSTALL_PREFIX "${CMAKE_INSTALL_FULL_DATAROOTDIR}")
-ENDIF(NOT DEFINED SHARE_INSTALL_PREFIX)
-
 IF(NOT DEFINED SYSTEMD_UNIT_DIR)
-    SET(SYSTEMD_UNIT_DIR "${LIB_INSTALL_DIR}/systemd/system")
+    SET(SYSTEMD_UNIT_DIR "${CMAKE_INSTALL_PREFIX}/lib/systemd/system")
 ENDIF(NOT DEFINED SYSTEMD_UNIT_DIR)
 
 IF(NOT DEFINED DATA_DIR)
-    SET(DATA_DIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}")
+    SET(DATA_DIR "${CMAKE_INSTALL_PREFIX}/share")
 ENDIF(NOT DEFINED DATA_DIR)
 
-SET(VSM_CONFIG_INSTALL_DIR ${SYSCONF_INSTALL_DIR}/vasum)
-SET(VSM_SERVER_IPC_SOCKET_PATH /var/run/vasum-ipc.socket)
-SET(VSM_UNIT_TESTS_IPC_SOCKET_PATH /var/run/vasum-ipc-unit-tests.socket)
+IF(NOT DEFINED LIBEXEC_DIR)
+    SET(LIBEXEC_DIR "${CMAKE_INSTALL_PREFIX}/libexec")
+ENDIF(NOT DEFINED LIBEXEC_DIR)
 
+IF(NOT DEFINED RUN_DIR)
+    SET(RUN_DIR "/var/run")
+ENDIF(NOT DEFINED RUN_DIR)
+
+SET(VSM_CONFIG_INSTALL_DIR ${SYSCONF_INSTALL_DIR}/vasum)
+SET(VSM_SERVER_IPC_SOCKET_PATH ${RUN_DIR}/vasum.socket)
+SET(VSM_UNIT_TESTS_IPC_SOCKET_PATH ${RUN_DIR}/vasum-ipc-unit-tests.socket)
+
+ADD_SUBDIRECTORY(${COMMON_FOLDER})
+ADD_SUBDIRECTORY(${LOGGER_FOLDER})
+IF(NOT WITHOUT_DBUS)
+ADD_SUBDIRECTORY(${DBUS_FOLDER})
+ENDIF(NOT WITHOUT_DBUS)
+ADD_SUBDIRECTORY(${CONFIG_FOLDER})
+ADD_SUBDIRECTORY(${IPC_FOLDER})
+ADD_SUBDIRECTORY(${LXCPP_FOLDER})
 ADD_SUBDIRECTORY(${CLIENT_FOLDER})
 ADD_SUBDIRECTORY(${SERVER_FOLDER})
+IF(NOT WITHOUT_DBUS)
 ADD_SUBDIRECTORY(${ZONE_SUPPORT_FOLDER})
 ADD_SUBDIRECTORY(${ZONE_DAEMON_FOLDER})
+ENDIF(NOT WITHOUT_DBUS)
 ADD_SUBDIRECTORY(${TESTS_FOLDER})
 ADD_SUBDIRECTORY(${CLI_FOLDER})
-
+ADD_SUBDIRECTORY(${WRAPPER_FOLDER})