Cloud communication integration
[apps/native/gear-racing-car.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(${P_NAME} C)
3
4 SET(INSTALL_EXEC_PREFIX "${INSTALL_PREFIX}/bin")
5 SET(CMAKE_VERBOSE_MAKEFILE 0)
6
7 SET(PROJECT_ROOT_DIR "${CMAKE_SOURCE_DIR}")
8 SET(PROJECT_RESOURCES_DIR "${PROJECT_ROOT_DIR}/res")
9
10 INCLUDE(FindPkgConfig)
11 pkg_check_modules(APP_PKGS REQUIRED
12         dlog
13         capi-appfw-application
14         capi-appfw-service-application
15         capi-system-peripheral-io
16         libcurl
17         json-glib-1.0
18         glib-2.0
19         gio-2.0
20         capi-network-connection
21         capi-network-wifi-manager
22 )
23
24 FOREACH (flag ${APP_PKGS_CFLAGS})
25     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
26 ENDFOREACH(flag)
27
28 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Winline -g -fno-builtin-malloc -fPIE")
29 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
30 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
31
32 INCLUDE_DIRECTORIES(${PROJECT_ROOT_DIR}/inc)
33
34 ADD_EXECUTABLE(${PROJECT_NAME}
35         ${PROJECT_ROOT_DIR}/src/udp_connection.c
36         ${PROJECT_ROOT_DIR}/src/config.c
37         ${PROJECT_ROOT_DIR}/src/app.c
38         ${PROJECT_ROOT_DIR}/src/log.c
39         ${PROJECT_ROOT_DIR}/src/connection_manager.c
40         ${PROJECT_ROOT_DIR}/src/resource.c
41         ${PROJECT_ROOT_DIR}/src/message.c
42         ${PROJECT_ROOT_DIR}/src/receiver.c
43         ${PROJECT_ROOT_DIR}/src/receiver_udp.c
44         ${PROJECT_ROOT_DIR}/src/resource/resource_infrared_obstacle_avoidance_sensor.c
45         ${PROJECT_ROOT_DIR}/src/resource/resource_motor_driver_L298N.c
46         ${PROJECT_ROOT_DIR}/src/resource/resource_PCA9685.c
47         ${PROJECT_ROOT_DIR}/src/resource/resource_servo_motor.c
48         ${PROJECT_ROOT_DIR}/src/cloud/car_info.c
49         ${PROJECT_ROOT_DIR}/src/cloud/car_info_serializer.c
50         ${PROJECT_ROOT_DIR}/src/cloud/cloud_request.c
51         ${PROJECT_ROOT_DIR}/src/cloud/http_request.c
52         ${PROJECT_ROOT_DIR}/src/net-util.c
53         ${PROJECT_ROOT_DIR}/src/cloud/cloud_communication.c
54 )
55
56 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm)
57 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${APP_PKGS_LDFLAGS})
58
59 CONFIGURE_FILE(${PROJECT_ROOT_DIR}/tizen-manifest.xml.in ${ORG_PREFIX}.${PROJECT_NAME}.xml @ONLY)
60 # Install
61 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${INSTALL_EXEC_PREFIX})
62 INSTALL(FILES ${ORG_PREFIX}.${PROJECT_NAME}.xml DESTINATION ${SYS_PACKAGES_DIR})
63 INSTALL(FILES ${PROJECT_ROOT_DIR}/shared/res/default_icon.png DESTINATION ${SYS_ICONS_DIR} RENAME ${PROJECT_NAME}.png)
64
65 # End of a file