code update
[adaptation/devices/nfc-plugin-nxp.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(nfc-plugin C)
3
4 MESSAGE("build nfc-plugin-nxp")
5
6 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/inc)
7 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/Linux_x86)
8 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src)
9 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/utils)
10 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/cutils)
11
12 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/Linux_x86 SRCS)
13 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src/oem SRCS)
14 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src SRCS)
15
16 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
17         SET(CMAKE_BUILD_TYPE "Release")
18 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
19 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
20
21 INCLUDE(FindPkgConfig)
22
23 pkg_check_modules(pkgs REQUIRED glib-2.0 gobject-2.0 dlog nfc-common-lib vconf)
24
25 FOREACH(flag ${pkgs_CFLAGS})
26         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
27 ENDFOREACH(flag)
28
29 # this for NFC flag
30
31 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fno-strict-aliasing -pipe -fomit-frame-pointer -Wall -Wno-trigraphs -Werror-implicit-function-declaration -Wl,-zdefs -fvisibility=hidden")
32 SET(ARM_CFLAGS "${ARM_CFLAGS} -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -msoft-float -Uarm -fno-common -fpic")
33
34 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror-implicit-function-declaration")
35
36 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
37 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
38 #SET(CMAKE_C_FLAGS_RELEASE "-O2")
39
40 FIND_PROGRAM(UNAME NAMES uname)
41 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
42 IF("${ARCH}" STREQUAL "arm")
43         ADD_DEFINITIONS("-DTARGET")
44         MESSAGE("add -DTARGET")
45         SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ARM_CFLAGS}")
46 ENDIF("${ARCH}" STREQUAL "arm")
47
48 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
49 ADD_DEFINITIONS("-DNFC_TIMER_CONTEXT")
50 ADD_DEFINITIONS("-DTIZEN_PUBLIC")
51 ADD_DEFINITIONS("-DSLP_DEBUG")
52 ADD_DEFINITIONS("-DDAL_TRACE")
53 # this for NFC STACK compile
54 ADD_DEFINITIONS("-D_GNU_SOURCE")
55 ADD_DEFINITIONS("-DPHPN54X -DNXP_MESSAGING -DINCLUDE_DALINIT_DEINIT -DNFC_CUSTOM_CONFIG_INCLUDE")
56 ADD_DEFINITIONS("-DG_IDLE_ADD_MSGQ")
57 ADD_DEFINITIONS("-DUPDATE_NFC_ACTIVE")
58 #ADD_DEFINITIONS("-DNFC_CUSTOM_CONFIG_INCLUDE")
59
60 # this for debug
61 # PHDBG_TRACES must define to use PHDBG_TRACES_LEVEL_0 to 2
62 #ADD_DEFINITIONS("-DDEBUG_SLP -DPHDBG_TRACES -DPHDBG_TRACES_LEVEL_2 -DDAL_TRACE -DDEBUG -DLLC_TRACE")
63 ADD_DEFINITIONS("-DFRI_CUSTOM_LOG")
64 ADD_DEFINITIONS("-DFRI_CUSTOM_LOG_ONLY_I2C")
65
66 ADD_DEFINITIONS("-DFW_104")
67
68 ADD_DEFINITIONS("-DNFC_DEBUG_USE_DLOG")
69
70 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
71
72 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-ldl -lrt")
73
74 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib)