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("-D__PRIVATE")
13 FIND_PROGRAM(GDBUS_CODEGEN NAMES gdbus-codegen)
14 EXEC_PROGRAM(${GDBUS_CODEGEN} ARGS
16 --generate-c-code ${CMAKE_CURRENT_SOURCE_DIR}/private/access-control-gdbus \\
17 --c-namespace SmartcardService\\
18 --interface-prefix org.tizen.SmartcardService. \\
19 ${CMAKE_CURRENT_SOURCE_DIR}/private/access-control-gdbus.xml \\
22 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/private SRCS)
25 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
26 SET(CMAKE_BUILD_TYPE "Release")
27 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
30 INCLUDE(FindPkgConfig)
32 SET(PKG_MODULE glib-2.0 gio-2.0 gio-unix-2.0 dlog cynara-client cynara-creds-gdbus cynara-session)
34 pkg_check_modules(pkgs_server REQUIRED ${PKG_MODULE})
36 FOREACH(flag ${pkgs_server_CFLAGS})
37 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
38 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
41 MESSAGE("CHECK MODULE in ${PROJECT_NAME} ${pkgs_server_LDFLAGS}")
43 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -pipe -fomit-frame-pointer -Wall -Wno-trigraphs -fno-strict-aliasing -Wl,-zdefs -fvisibility=hidden")
44 SET(ARM_CFLAGS "${ARM_CLAGS} -mapcs -mno-sched-prolog -mabi=aapcs-linux -Uarm -fno-common -fpic")
45 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
46 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
48 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} -pipe -fomit-frame-pointer -Wall -Wno-trigraphs -fno-strict-aliasing -Wl,-zdefs -fvisibility=hidden -std=c++0x")
49 SET(ARM_CXXFLAGS "${ARM_CXXLAGS} -mapcs -mno-sched-prolog -mabi=aapcs-linux -Uarm -fno-common -fpic")
50 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -fPIC")
51 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
53 FIND_PROGRAM(UNAME NAMES uname)
54 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
55 IF("${ARCH}" MATCHES "^arm.*")
56 ADD_DEFINITIONS("-DTARGET")
57 MESSAGE("add -DTARGET")
58 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARM_CXXFLAGS}")
59 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ARM_CFLAGS}")
62 ADD_DEFINITIONS("-DPREFIX=\"/usr/apps/smartcard-service-server\"")
63 ADD_DEFINITIONS("-DLOG_TAG=\"SMARTCARD_SERVICE_SERVER\"")
65 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
67 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
69 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_server_LDFLAGS} "-L../common" "-lsmartcard-service-common" "-pie -ldl")
71 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/apps/smartcard-service-server/bin)
72 IF("${USE_AUTOSTART}" STREQUAL "1")
73 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.tizen.SmartcardService.service DESTINATION share/dbus-1/system-services)