Remove gcov rpm package
[platform/core/connectivity/smartcard-service.git] / server / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(smartcard-daemon CXX)
3
4 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../common)
5 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../common/include)
6 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
7
8 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/ SRCS)
9
10 IF(BUILD_GTESTS)
11         ADD_DEFINITIONS(-DBUILD_GTEST)
12 ENDIF(BUILD_GTESTS)
13
14 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
15         SET(CMAKE_BUILD_TYPE "Release")
16 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
17
18 # pkg config
19 INCLUDE(FindPkgConfig)
20
21 SET(PKG_MODULE glib-2.0 gio-2.0 gio-unix-2.0 dlog cynara-client cynara-creds-gdbus cynara-session)
22
23 pkg_check_modules(pkgs REQUIRED ${PKG_MODULE})
24
25 FOREACH(flag ${pkgs_CFLAGS})
26         SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
27         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
28 ENDFOREACH(flag)
29
30 MESSAGE("CHECK MODULE in ${PROJECT_NAME} ${pkgs_LDFLAGS}")
31
32 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -pipe -fomit-frame-pointer -Wall -Wno-trigraphs  -fno-strict-aliasing -Wl,-zdefs -fvisibility=hidden")
33 SET(ARM_CFLAGS "${ARM_CLAGS} -mapcs -mno-sched-prolog -mabi=aapcs-linux -Uarm -fno-common -fpic")
34 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
35 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
36
37 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} -pipe -fomit-frame-pointer -Wall -Wno-trigraphs  -fno-strict-aliasing -Wl,-zdefs -fvisibility=hidden -std=c++0x")
38 SET(ARM_CXXFLAGS "${ARM_CXXLAGS} -mapcs -mno-sched-prolog -mabi=aapcs-linux -Uarm -fno-common -fpic")
39 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -fPIC")
40 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
41
42 FIND_PROGRAM(UNAME NAMES uname)
43 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
44 IF("${ARCH}" MATCHES "^arm.*")
45         ADD_DEFINITIONS("-DTARGET")
46         MESSAGE("add -DTARGET")
47         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARM_CXXFLAGS}")
48         SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ARM_CFLAGS}")
49 ENDIF()
50
51 ADD_DEFINITIONS("-DPREFIX=\"/usr\"")
52 ADD_DEFINITIONS("-DLOG_TAG=\"SMARTCARD_SERVICE\"")
53
54 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
55
56 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
57
58 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-L../common" "-lsmartcard-service-common" "-pie -ldl")
59
60 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin)
61 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.tizen.SmartcardService.service DESTINATION share/dbus-1/system-services)