1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(smartcard-service-common CXX)
4 SET(LIB_NAME "smartcard-service-common")
6 SET(VERSION ${VERSION_MAJOR}.0.0)
8 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
10 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SRCS)
12 #IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
13 # SET(CMAKE_BUILD_TYPE "Debug")
14 #ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
15 #MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
17 INCLUDE(FindPkgConfig)
18 pkg_check_modules(pkgs_common REQUIRED dlog glib-2.0 aul libssl pkgmgr pkgmgr-info)
20 MESSAGE("${LIB_NAME} ld flag : ${pkgs_common_LDFLAGS}")
22 FOREACH(flag ${pkgs_common_CFLAGS})
23 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
24 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
27 #SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -finstrument-functions")
28 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
29 #SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
30 #SET(CMAKE_C_FLAGS_RELEASE "-O2")
32 #SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} -finstrument-functions -std=c++0x")
33 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS}")
34 #SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
35 #SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
37 FIND_PROGRAM(UNAME NAMES uname)
38 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
39 IF("${ARCH}" STREQUAL "arm")
40 ADD_DEFINITIONS("-DTARGET")
41 MESSAGE("add -DTARGET")
42 ENDIF("${ARCH}" STREQUAL "arm")
44 MESSAGE("CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}")
46 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
47 ADD_DEFINITIONS("-DSLP_DEBUG")
48 ADD_DEFINITIONS("-DUSE_UNIX_DOMAIN")
49 ADD_DEFINITIONS("-DLOG_TAG=\"SMARTCARD_SERVICE_COMMON\"")
51 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
53 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
55 SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
56 SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES VERSION ${VERSION})
58 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_common_LDFLAGS})
66 include/TerminalInterface.h
68 include/SignatureHelper.h
73 ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_NAME}.pc.in
74 ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_NAME}.pc
77 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
78 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
79 FOREACH(hfile ${EXPORT_HEADER})
80 INSTALL(FILES ${hfile} DESTINATION include/${LIB_NAME})