Initial version
[platform/core/service/cloud/ua-client.git] / CMakeLists.txt
1 cmake_minimum_required (VERSION 2.8)
2
3 project (ua-client)
4
5 #set(CMAKE_SKIP_BUILD_RPATH TRUE)
6
7 include(CheckCXXCompilerFlag)
8
9 CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
10 CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
11 IF(COMPILER_SUPPORTS_CXX11)
12     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
13 ELSEIF(COMPILER_SUPPORTS_CXX0X)
14     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
15 ELSE()
16     MESSAGE(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++ support. Please use a different C++ compiler.")
17 ENDIF()
18
19 install(FILES ${CMAKE_SOURCE_DIR}/res/device_info.ini DESTINATION /opt/usr/data/ua_client/)
20 install(FILES ${CMAKE_SOURCE_DIR}/res/.firmware_controlee.dat DESTINATION /opt/usr/data/ua_client/)
21
22
23 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -O2 -g -Wall")
24
25 add_definitions(-D__TIZEN__ -D_GNU_SOURCE -DTIZEN_DEBUG_ENABLE -DTB_LOG -DWITH_CLOUD -DRD_SERVER)
26
27 include_directories(
28         ${CMAKE_SOURCE_DIR}/inc/
29         ${CMAKE_SOURCE_DIR}/inc/iotivity/
30         )
31
32 set(SOURCES
33     ${CMAKE_SOURCE_DIR}/src/ua_client.cpp
34     ${CMAKE_SOURCE_DIR}/src/ua_http.cpp
35     ${CMAKE_SOURCE_DIR}/src/ua_json_parser.cpp
36    )
37
38 #set(dependents "boost dlog glib-2.0 iotivity libcurl uuid json-glib-1.0 capi-network-connection")
39 set(dependents "boost dlog glib-2.0 libcurl uuid json-glib-1.0 capi-network-connection capi-network-wifi")
40 include(FindPkgConfig)
41 pkg_check_modules(${PROJECT_NAME} REQUIRED ${dependents})
42
43 foreach(flag ${${PROJECT_NAME}_CFLAGS})
44         set(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -std=c++11")
45 endforeach(flag)
46
47 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
48
49 #find_library(IOTIVITY_LIBRARY
50 #    NAMES oc oc_logger octbstack ocsrm routingmanager connectivity_abstraction c_common coap logger
51 #    PATHS ${CMAKE_SOURCE_DIR}/lib/
52 #)
53
54 set(LINK_STATIC_LIBS
55         oc
56         oc_logger
57         octbstack
58         ocsrm
59         routingmanager
60         connectivity_abstraction
61         c_common
62         coap
63         resource_directory
64         logger
65         pthread
66         rt
67         uuid
68         capi-network-wifi
69         )
70
71 set(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
72
73 link_directories(${CMAKE_SOURCE_DIR}/lib/)
74 add_executable(${PROJECT_NAME} ${SOURCES})
75 target_link_libraries(${PROJECT_NAME} ${${PROJECT_NAME}_LDFLAGS} ${LINK_STATIC_LIBS})
76 install(TARGETS ${PROJECT_NAME} DESTINATION bin)