libtcore sync from private git
[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 dlog 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")
20
21 ADD_DEFINITIONS("-DFEATURE_DLOG_DEBUG")
22 ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"TCORE\"")
23
24 MESSAGE(${CMAKE_C_FLAGS})
25 MESSAGE(${CMAKE_EXE_LINKER_FLAGS})
26
27 SET(SRCS
28                 src/server.c
29                 src/plugin.c
30                 src/hal.c
31                 src/at.c
32                 src/udev.c
33                 src/communicator.c
34                 src/storage.c
35                 src/queue.c
36                 src/user_request.c
37                 src/util.c
38                 src/core_object.c
39                 src/co_modem.c
40                 src/co_network.c
41                 src/co_ps.c
42                 src/co_context.c
43                 src/co_sim.c
44                 src/co_sat.c
45                 src/co_sap.c
46                 src/co_call.c
47                 src/co_ss.c
48                 src/co_sms.c
49                 src/co_phonebook.c
50                 src/co_gps.c
51                 src/mux.c
52 )
53
54
55
56 # library build
57 ADD_LIBRARY(tcore SHARED ${SRCS})
58 TARGET_LINK_LIBRARIES(tcore ${pkgs_LDFLAGS})
59 SET_TARGET_PROPERTIES(tcore PROPERTIES VERSION 0.0.0 SOVERSION 0 OUTPUT_NAME tcore)
60
61 # pkgconfig file
62 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
63 CONFIGURE_FILE(tcore.pc.in tcore.pc @ONLY)
64
65
66 # install
67 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include/tcore)
68 INSTALL(TARGETS tcore
69                 LIBRARY DESTINATION lib)
70 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/tcore.pc DESTINATION lib/pkgconfig)
71
72 #ADD_SUBDIRECTORY(unit-test)