tizen 2.3.1 release
[framework/telephony/libtcore.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(libtcore C)
3
4 #INCLUDE(FindPkgConfig)
5
6 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
7 SET(EXEC_PREFIX "\${prefix}")
8 SET(LIBDIR "\${prefix}/lib")
9 SET(INCLUDEDIR "\${prefix}/include")
10
11 # Set required packages
12 INCLUDE(FindPkgConfig)
13 pkg_check_modules(pkgs REQUIRED glib-2.0 gudev-1.0)
14
15 FOREACH(flag ${pkgs_CFLAGS})
16         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
17 ENDFOREACH(flag)
18
19 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${CMAKE_SOURCE_DIR}/include ${EXTRA_CFLAGS} -Werror -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wredundant-decls -Wcast-align -O2 -Wall  -Wno-array-bounds -Wno-empty-body -Wno-ignored-qualifiers -Wshadow -Wwrite-strings -Wswitch-default -Wno-unused-but-set-variable")
20
21 ADD_DEFINITIONS("-DFEATURE_TLOG_DEBUG")
22 ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"TCORE\"")
23 #ADD_DEFINITIONS("-DTCORE_HAL_DEBUG")
24 ADD_DEFINITIONS("-DTCORE_VERSION=\"${VERSION}\"")
25
26 MESSAGE(${CMAKE_C_FLAGS})
27 MESSAGE(${CMAKE_EXE_LINKER_FLAGS})
28
29 IF (ARCH_EMUL)
30         ADD_DEFINITIONS("-DEMULATOR")
31 ENDIF (ARCH_EMUL)
32
33 SET(SRCS
34                 src/server.c
35                 src/plugin.c
36                 src/hal.c
37                 src/at.c
38                 src/udev.c
39                 src/communicator.c
40                 src/storage.c
41                 src/queue.c
42                 src/user_request.c
43                 src/util.c
44                 src/core_object.c
45                 src/co_modem.c
46                 src/co_network.c
47                 src/co_ps.c
48                 src/co_context.c
49                 src/co_sim.c
50                 src/co_sat.c
51                 src/co_sap.c
52                 src/co_call.c
53                 src/co_ss.c
54                 src/co_sms.c
55                 src/co_phonebook.c
56                 src/co_gps.c
57                 src/co_custom.c
58                 src/mux.c
59 )
60
61
62
63 # library build
64 ADD_LIBRARY(tcore SHARED ${SRCS})
65 TARGET_LINK_LIBRARIES(tcore ${pkgs_LDFLAGS})
66 SET_TARGET_PROPERTIES(tcore PROPERTIES VERSION 0.0.0 SOVERSION 0 OUTPUT_NAME tcore)
67
68 # pkgconfig file
69 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
70 CONFIGURE_FILE(tcore.pc.in tcore.pc @ONLY)
71
72
73 # install
74 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include/tcore)
75 INSTALL(TARGETS tcore
76                 LIBRARY DESTINATION lib)
77 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/tcore.pc DESTINATION lib/pkgconfig)
78 INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME libtcore)
79
80 #ADD_SUBDIRECTORY(unit-test)