Updating license in spec file
[pkgs/u/ug-calendar-picker.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(ug-calendar-picker-efl CXX)
3
4 SET(SRCS
5                 src/CalendarPickerView.cpp
6                 src/CalendarPickerGadget.cpp
7 )
8
9
10 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
11         SET(CMAKE_BUILD_TYPE "Release")
12 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
13 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
14
15 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
16
17 INCLUDE(FindPkgConfig)
18 pkg_check_modules(pkgs REQUIRED
19                         ui-gadget
20                         elementary
21                         dlog
22 )
23
24 FOREACH(flag ${pkgs_CFLAGS})
25         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
26 ENDFOREACH(flag)
27
28 # set flags
29 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -g")
30 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g")
31 SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2")
32
33 FIND_PROGRAM(UNAME NAMES uname)
34 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
35 IF("${ARCH}" STREQUAL "arm")
36         ADD_DEFINITIONS("-DTARGET")
37         MESSAGE("add -DTARGET")
38 ENDIF("${ARCH}" STREQUAL "arm")
39
40 # set extra defines
41 SET(IMAGES_DIR "/opt/ug/res/images/ug-calendar-picker-efl")
42 SET(EDJ_NAME "/opt/ug/res/edje/ug-calendar-picker-efl/ug-calendar-picker-efl.edj")
43 SET(THEME_EDJ "/opt/ug/res/edje/ug-calendar-picker-efl/ug-calendar-picker-efl_theme.edj")
44 SET(PACKAGE "libug-calendar-picker-efl")
45
46 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
47 ADD_DEFINITIONS("-DIMAGES_DIR=\"${IMAGES_DIR}\"")
48 ADD_DEFINITIONS("-DEDJ_NAME=\"${EDJ_NAME}\"")
49 ADD_DEFINITIONS("-DTHEME_EDJ=\"${THEME_EDJ}\"")
50 ADD_DEFINITIONS(-DLOG_TAG=\"ug-calendar-picker-efl\")
51
52 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
53
54 # make gadget lib
55 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
56 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
57
58 ADD_CUSTOM_TARGET(ug-calendar-picker-efl.edj
59                 COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images
60                 ${CMAKE_SOURCE_DIR}/ug-calendar-picker-efl.edc ${CMAKE_BINARY_DIR}/ug-calendar-picker-efl.edj
61                 DEPENDS ${CMAKE_SOURCE_DIR}/ug-calendar-picker-efl.edc
62 )
63 ADD_DEPENDENCIES(${PROJECT_NAME} ug-calendar-picker-efl.edj)
64
65 ADD_CUSTOM_TARGET(ug-calendar-picker-efl_theme.edj
66                 COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images
67                 ${CMAKE_SOURCE_DIR}/ug-calendar-picker-efl_theme.edc ${CMAKE_BINARY_DIR}/ug-calendar-picker-efl_theme.edj
68                 DEPENDS ${CMAKE_SOURCE_DIR}/ug-calendar-picker-efl_theme.edc
69 )
70 ADD_DEPENDENCIES(${PROJECT_NAME} ug-calendar-picker-efl_theme.edj)
71
72 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /opt/ug/lib)
73 INSTALL(FILES ${CMAKE_BINARY_DIR}/ug-calendar-picker-efl.edj DESTINATION /opt/ug/res/edje/${PROJECT_NAME})
74 INSTALL(FILES ${CMAKE_BINARY_DIR}/ug-calendar-picker-efl_theme.edj DESTINATION /opt/ug/res/edje/${PROJECT_NAME})
75 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/images/ DESTINATION ${IMAGES_DIR}
76                 FILES_MATCHING
77                 PATTERN "*.png"
78 )
79
80 # install desktop file & icon
81 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
82 CONFIGURE_FILE(${PROJECT_NAME}.desktop.in ${PROJECT_NAME}.desktop)
83
84 # i18n
85 ADD_SUBDIRECTORY(po)
86