initial upload
[apps/native/smart-surveillance-camera.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET(CMAKE_VERBOSE_MAKEFILE 0)
4
5 PROJECT(${P_NAME} C)
6 SET(INSTALL_EXEC_PREFIX "${INSTALL_PREFIX}/bin")
7 SET(PROJECT_ROOT_DIR "${CMAKE_SOURCE_DIR}")
8 SET(PROJECT_RESOURCES_DIR "${PROJECT_ROOT_DIR}/res")
9 SET(CMAKE_INSTALL_RPATH "${INSTALL_PREFIX}/lib")
10
11 INCLUDE(FindPkgConfig)
12 pkg_check_modules(APP_PKGS REQUIRED
13         dlog
14         capi-appfw-service-application
15         capi-system-peripheral-io
16         capi-media-camera
17         capi-media-vision
18         capi-media-image-util
19         libtzplatform-config
20         glib-2.0
21         gio-2.0
22         ecore
23         rpc-port
24         libexif
25         capi-appfw-package-manager
26 )
27
28 FOREACH (flag ${APP_PKGS_CFLAGS})
29         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
30 ENDFOREACH(flag)
31
32
33 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Winline -g -fno-builtin-malloc -fPIE")
34 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
35 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
36
37 LINK_DIRECTORIES(${PROJECT_ROOT_DIR}/lib)
38 SET(ST_API_LIBS st_thing_master_api st_thing_resource_api)
39
40 INCLUDE_DIRECTORIES(${PROJECT_ROOT_DIR}/include)
41
42 FILE(GLOB APP_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c)
43
44 ADD_EXECUTABLE(${PROJECT_NAME} ${APP_SOURCE})
45 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${APP_PKGS_LDFLAGS} -lm ${ST_API_LIBS})
46
47 CONFIGURE_FILE(${PROJECT_ROOT_DIR}/tizen-manifest.xml.in ${PROJECT_NAME}.xml @ONLY)
48
49 # Install
50 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${INSTALL_EXEC_PREFIX})
51 INSTALL(FILES ${PROJECT_NAME}.xml DESTINATION ${SYS_PACKAGES_DIR})
52 INSTALL(DIRECTORY ${PROJECT_ROOT_DIR}/lib DESTINATION ${INSTALL_PREFIX})
53 INSTALL(FILES ${PROJECT_ROOT_DIR}/shared/res/default_icon.png DESTINATION ${APP_SHARED_RES_DIR} RENAME ${PROJECT_NAME}.png)
54 INSTALL(DIRECTORY ${PROJECT_ROOT_DIR}/res DESTINATION ${INSTALL_PREFIX})
55 INSTALL(FILES ${PROJECT_ROOT_DIR}/shared/res/master.json DESTINATION ${APP_SHARED_RES_DIR})
56 INSTALL(FILES ${PROJECT_ROOT_DIR}/shared/res/resource.json DESTINATION ${APP_SHARED_RES_DIR})
57 INSTALL(DIRECTORY ${PROJECT_ROOT_DIR}/dashboard DESTINATION ${DASH_BOARD_DIR})