Merge branch 'tizen_3.0' into devel/tizen
[platform/core/system/sensord.git] / src / client / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(sensor CXX)
3
4 SET(DEPENDENTS "vconf glib-2.0 gio-2.0 dlog")
5 SET(VERSION ${FULLVER})
6 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
7 SET(EXEC_PREFIX "${CMAKE_INSTALL_PREFIX}/bin")
8
9 SET(PC_NAME ${PROJECT_NAME})
10 SET(PC_DESCRIPTION "Sensor Client library")
11 SET(PC_INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/sensor")
12 SET(PC_REQUIRES "${DEPENDENTS}")
13 SET(PC_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
14 SET(PC_LDFLAGS "-l${PROJECT_NAME}")
15
16 INCLUDE(FindPkgConfig)
17 PKG_CHECK_MODULES(PKGS REQUIRED ${DEPENDENTS})
18
19 FOREACH(flag ${PKGS_CFLAGS})
20         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
21 ENDFOREACH(flag)
22
23 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden -g -fPIC")
24
25 SET (INSTALL_HEADERS
26         sensor_internal.h
27         sensor_internal_deprecated.h
28 )
29
30 INCLUDE_DIRECTORIES(
31         ${CMAKE_SOURCE_DIR}/src/hal
32         ${CMAKE_SOURCE_DIR}/src/shared
33         ${CMAKE_CURRENT_SOURCE_DIR}
34 )
35
36 FILE(GLOB_RECURSE SRCS *.cpp)
37
38 IF("${PROFILE}" STREQUAL "tv")
39         LIST(REMOVE_ITEM SRCS
40                 "${CMAKE_CURRENT_SOURCE_DIR}/client.cpp"
41                 "${CMAKE_CURRENT_SOURCE_DIR}/external_client.cpp")
42 ELSE()
43         LIST(REMOVE_ITEM SRCS
44                 "${CMAKE_CURRENT_SOURCE_DIR}/client_dummy.cpp"
45                 "${CMAKE_CURRENT_SOURCE_DIR}/external_client_dummy.cpp")
46 ENDIF()
47
48 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
49
50 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS} "sensord-shared")
51 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${MAJORVER})
52 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${FULLVER})
53
54 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc @ONLY)
55 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries)
56 FOREACH(HEADER IN ITEMS ${INSTALL_HEADERS})
57         INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${HEADER} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor)
58 ENDFOREACH()
59 INSTALL(FILES ${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
60