Change include directory path
[platform/core/api/motion.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(motion)
3 INCLUDE(GNUInstallDirs)
4
5 # Source Lists
6 SET(SRCS
7         src/shared/ctx_util_misc.cpp
8         src/shared/ctx_util_sensor.cpp
9 # Gesture
10         src/gesture/gesture.cpp
11         src/gesture/motion_engine.cpp
12 # Activity
13         src/activity/activity.cpp
14 )
15
16 SET(inc_subdir "context-service")
17 SET(dependency "dlog glib-2.0 capi-base-common capi-system-info sensor")
18
19 # Target lib (for backward compatibility, the below old naming is used)
20 SET(target "core-context-manager")
21
22 # Options
23 INCLUDE(FindPkgConfig)
24 INCLUDE_DIRECTORIES(
25         ${CMAKE_CURRENT_SOURCE_DIR}/include
26         ${CMAKE_CURRENT_SOURCE_DIR}/src/shared
27 )
28
29 ADD_DEFINITIONS(-O2 -Wall -fPIC -fvisibility=hidden -Wl,--as-needed)
30
31 # Build
32 pkg_check_modules(pkgs REQUIRED ${dependency})
33
34 FOREACH(flag ${pkgs_CFLAGS})
35    SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
36 ENDFOREACH(flag)
37
38 ADD_LIBRARY(${target} SHARED ${SRCS})
39 TARGET_LINK_LIBRARIES(${target} ${pkgs_LDFLAGS})
40 SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS})
41 SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_DEFINITIONS "LOG_TAG=\"CONTEXT-LIB\"")
42 SET_TARGET_PROPERTIES(${target} PROPERTIES SOVERSION ${MAJORVER})
43 SET_TARGET_PROPERTIES(${target} PROPERTIES VERSION ${FULLVER})
44
45 # Install
46 INSTALL(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries)
47 INSTALL(
48         DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${inc_subdir}
49         FILES_MATCHING PATTERN "*.h"
50 )
51
52 SET(VERSION ${FULLVER})
53 SET(PC_PREFIX ${CMAKE_INSTALL_PREFIX})
54 SET(PC_NAME ${target})
55 SET(PC_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
56 SET(PC_INCLUDE "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/${inc_subdir}")
57 SET(PC_DESCRIPTION "Tizen Native Motion Recognition API")
58 SET(PC_REQUIRED ${dependency})
59 SET(PC_LDFLAGS -l${target})
60 SET(PC_CFLAGS -I\${includedir}/${inc_subdir})
61
62 CONFIGURE_FILE(
63         ${PROJECT_NAME}.pc.in
64         ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc
65         @ONLY
66 )
67 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)