1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(smartcard-daemon CXX)
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)
8 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/ SRCS)
11 ADD_DEFINITIONS(-DBUILD_GTEST)
14 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
15 SET(CMAKE_BUILD_TYPE "Release")
16 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
19 INCLUDE(FindPkgConfig)
21 SET(PKG_MODULE glib-2.0 gio-2.0 gio-unix-2.0 dlog cynara-client cynara-creds-gdbus cynara-session)
23 pkg_check_modules(pkgs REQUIRED ${PKG_MODULE})
25 FOREACH(flag ${pkgs_CFLAGS})
26 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
27 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
30 MESSAGE("CHECK MODULE in ${PROJECT_NAME} ${pkgs_LDFLAGS}")
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")
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")
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}")
51 ADD_DEFINITIONS("-DPREFIX=\"/usr\"")
52 ADD_DEFINITIONS("-DLOG_TAG=\"SMARTCARD_SERVICE\"")
54 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
56 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
58 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-L../common" "-lsmartcard-service-common" "-pie -ldl")
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)