Release version 0.6.0
[platform/core/security/askuser.git] / CMakeLists.txt
index d208e49..d029880 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
+# Copyright (c) 2014-2020 Samsung Electronics Co., Ltd. All rights reserved
 #
 #    Licensed under the Apache License, Version 2.0 (the "License");
 #    you may not use this file except in compliance with the License.
 #
 # @file        CMakeLists.txt
 # @author      Adam Malinowski <a.malinowsk2@partner.samsung.com>
+# @author      Oskar Switalski <o.switalski@samsung.com>
 #
 
 ############################# Check minimum CMake version #####################
 
 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.3)
 PROJECT("askuser")
-set(ASKUSER_VERSION 0.0.1)
+SET(ASKUSER_VERSION_MAJOR 0)
+SET(ASKUSER_VERSION ${ASKUSER_VERSION_MAJOR}.6.0)
 
 ############################# cmake packages ##################################
 
@@ -41,16 +43,8 @@ SET(CMAKE_CXX_FLAGS_DEBUG      "-O0 -g -ggdb")
 SET(CMAKE_CXX_FLAGS_RELEASE    "-O2 -g")
 SET(CMAKE_CXX_FLAGS_CCOV       "-O2 -g --coverage")
 
-# Check for C++11 support and enable proper compilation flags
-CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
-CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
-IF(COMPILER_SUPPORTS_CXX11)
-    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-ELSEIF(COMPILER_SUPPORTS_CXX0X)
-    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
-ELSE()
-    MESSAGE(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
-ENDIF()
+# Enable C++17
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
 
 # Set compiler warning flags
 ADD_DEFINITIONS("-Werror")                      # Make all warnings into errors.
@@ -60,13 +54,42 @@ ADD_DEFINITIONS("-Wextra")                      # Generate even more extra warni
 # Don't export symbols by default
 ADD_DEFINITIONS("-fvisibility=hidden")
 
-
 IF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
     ADD_DEFINITIONS("-DBUILD_TYPE_DEBUG")
 ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
 
-SET(TARGET_ASKUSER "askuser")
-SET(TARGET_ASKUSER_COMMON "askuser-common")
+IF (BUILD_WITH_SYSTEMD_DAEMON)
+    ADD_DEFINITIONS("-DBUILD_WITH_SYSTEMD_DAEMON")
+ENDIF (BUILD_WITH_SYSTEMD_DAEMON)
+
+IF (RES_DIR)
+    ADD_DEFINITIONS("-DRES_DIR=\"${RES_DIR}\"")
+ELSE (RES_DIR)
+    ADD_DEFINITIONS("-DRES_DIR=\"/usr/share/askuser-notification/res/\"")
+ENDIF (RES_DIR)
+
+SET(ASKUSER_PATH ${PROJECT_SOURCE_DIR}/src)
+
+SET(TARGET_PLUGIN_SERVICE "askuser-plugin-service")
+SET(TARGET_ASKUSER_NOTIFICATION "askuser-notification")
+SET(TARGET_ASKUSER_COMMON "askuser-notification-common")
+SET(TARGET_ASKUSER_NOTIFICATION_LIB "askuser-notification-ipc")
+SET(TARGET_ASKUSER_NOTIFICATION_LIB_TEST "askuser-notification-test")
+SET(TARGET_ASKUSER_NOTIFICATION_CLIENT_LIB "askuser-notification-client")
+SET(TARGET_PRIVACY_PRIVILEGE_MANAGER_CAPI_LIB "capi-privacy-privilege-manager")
+SET(TARGET_PRIVACY_PRIVILEGE_MANAGER_TEST "capi-privacy-privilege-manager-test")
+SET(TARGET_ASKUSER_UNIT_TESTS "askuser-unit-tests")
+
+ADD_SUBDIRECTORY(src/plugin)
+ADD_SUBDIRECTORY(src/notification-daemon)
+ADD_SUBDIRECTORY(src/common)
+ADD_SUBDIRECTORY(src/ipc)
+ADD_SUBDIRECTORY(src/client)
+ADD_SUBDIRECTORY(src/capi)
+
+ADD_SUBDIRECTORY(pkgconfig)
+ADD_SUBDIRECTORY(test/unit-tests)
 
-ADD_SUBDIRECTORY(src)
+IF (BUILD_WITH_SYSTEMD_DAEMON)
 ADD_SUBDIRECTORY(systemd)
+ENDIF (BUILD_WITH_SYSTEMD_DAEMON)