69e3300b1f1c3ab432cc6edd66cecc4c28e38495
[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
10 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/Linux_x86 SRCS)
11 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src/oem SRCS)
12 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src SRCS)
13
14 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
15         SET(CMAKE_BUILD_TYPE "Release")
16 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
17 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
18
19 INCLUDE(FindPkgConfig)
20
21 pkg_check_modules(pkgs REQUIRED glib-2.0 gobject-2.0 dlog nfc-common-lib vconf)
22
23 FOREACH(flag ${pkgs_CFLAGS})
24         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
25 ENDFOREACH(flag)
26
27 # this for NFC flag
28
29 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fno-strict-aliasing -pipe -fomit-frame-pointer -Wall -Wno-trigraphs -Werror-implicit-function-declaration -Wl,-zdefs -fvisibility=hidden")
30 SET(ARM_CFLAGS "${ARM_CFLAGS} -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -msoft-float -Uarm -fno-common -fpic")
31
32 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror-implicit-function-declaration")
33
34 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
35 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
36 #SET(CMAKE_C_FLAGS_RELEASE "-O2")
37
38 FIND_PROGRAM(UNAME NAMES uname)
39 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
40 IF("${ARCH}" STREQUAL "arm")
41         ADD_DEFINITIONS("-DTARGET")
42         MESSAGE("add -DTARGET")
43         SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ARM_CFLAGS}")
44 ENDIF("${ARCH}" STREQUAL "arm")
45
46 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
47 ADD_DEFINITIONS("-DNFC_TIMER_CONTEXT")
48 ADD_DEFINITIONS("-DTIZEN_PUBLIC")
49 ADD_DEFINITIONS("-DSLP_DEBUG")
50 ADD_DEFINITIONS("-DDAL_TRACE")
51 # this for NFC STACK compile
52 ADD_DEFINITIONS("-D_GNU_SOURCE")
53 ADD_DEFINITIONS("-DPHPN54X -DNXP_MESSAGING -DINCLUDE_DALINIT_DEINIT -DNFC_CUSTOM_CONFIG_INCLUDE")
54 ADD_DEFINITIONS("-DG_IDLE_ADD_MSGQ")
55 ADD_DEFINITIONS("-DUPDATE_NFC_ACTIVE")
56 #ADD_DEFINITIONS("-DNFC_CUSTOM_CONFIG_INCLUDE")
57 ADD_DEFINITIONS("-DPH_FRINFC_MAP_ISO15693_DISABLED")
58 ADD_DEFINITIONS("-DPH_FRINFC_FMT_ISO15693_DISABLED")
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)