Add Tizen-ws-shell
[apps/native/volume-app.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(volume C)
3
4 SET(SRCS
5         src/main.c
6         src/view.c
7         src/control.c
8         src/key_event.c
9         src/timer.c
10         src/sound.c
11         src/bt.c
12 )
13
14 SET(VENDOR "tizen")
15 SET(PACKAGE ${PROJECT_NAME})
16 SET(PKGNAME "org.${VENDOR}.${PACKAGE}")
17 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
18 SET(BINDIR "${PREFIX}/bin")
19 SET(RESDIR "${PREFIX}/res")
20 SET(DATADIR "/opt/usr/apps/com.${VENDOR}.${PACKAGE}/data")
21 SET(LOCALEDIR "${RESDIR}/locale")
22 SET(ICONDIR "/usr/share/icons/default/small")
23 SET(IMAGEDIR "${RESDIR}/images/${PACKAGE}")
24 SET(EDJDIR "${RESDIR}/edje")
25
26 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
27         SET(CMAKE_BUILD_TYPE "Release")
28 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
29 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
30
31 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
32
33 INCLUDE(FindPkgConfig)
34 pkg_check_modules(pkgs REQUIRED
35         capi-appfw-application
36         capi-appfw-app-manager
37         appcore-efl
38         ecore
39         evas
40         edje
41         capi-media-sound-manager
42         capi-network-bluetooth
43         vconf
44         syspopup
45         syspopup-caller
46         bundle
47         feedback
48         notification
49         tzsh-volume-service
50 )
51
52 FOREACH(flag ${pkgs_CFLAGS})
53         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
54 ENDFOREACH(flag)
55
56 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE")
57 SET(CMAKE_C_FLAGS_PROFILING "-O0 -g -pg -fPIE")
58 SET(CMAKE_CXX_FLAGS_PROFILING "-O0 -std=c++0x -g -pg -fPIE")
59 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fPIE")
60 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -std=c++0x -g -fPIE")
61 SET(CMAKE_C_FLAGS_RELEASE "-O2 -g -fPIE")
62 SET(CMAKE_CXX_FLAGS_RELEASE "-O2 std=c++0x -g -fPIE")
63 SET(CMAKE_C_FLAGS_CCOV "-O2 -g --coverage -fPIE")
64 SET(CMAKE_CXX_FLAGS_CCOV "-O2 std=c++0x -g --coverage -fPIE")
65 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
66
67 FIND_PROGRAM(UNAME NAMES uname)
68 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
69 IF("${ARCH}" STREQUAL "arm")
70         ADD_DEFINITIONS("-DTARGET")
71         MESSAGE("add -DTARGET")
72 ENDIF("${ARCH}" STREQUAL "arm")
73
74 ADD_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
75 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
76 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
77 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
78 ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
79 ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
80 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
81 ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
82 ADD_DEFINITIONS("-DIMAGEDIR=\"${IMAGEDIR}\"")
83 ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
84
85 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
86 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm)
87
88 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
89
90 # install desktop file & icon
91 #CONFIGURE_FILE(${PKGNAME}.desktop.in ${CMAKE_BINARY_DIR}/${PKGNAME}.desktop)
92 INSTALL(FILES ${CMAKE_BINARY_DIR}/${PKGNAME}.xml DESTINATION /usr/share/packages)
93 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PKGNAME}.png DESTINATION ${ICONDIR})
94
95 # data
96 ADD_SUBDIRECTORY(data)
97
98 # i18n
99 ADD_SUBDIRECTORY(po)
100