1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
4 #----------------------------------------------------
6 #----------------------------------------------------
7 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
8 SET(EXEC_PREFIX "\${prefix}")
9 SET(LIBDIR "\${prefix}/lib")
10 SET(INCLUDEDIR "\${prefix}/include")
11 SET(EDJEDIR "${PREFIX}/share/edje")
13 SET(VERSION "${VERSION_MAJOR}.0.0")
15 #----------------------------------------------------
17 #----------------------------------------------------
18 SET(SRCS elm_webview.c
22 modal_utility/modal_util.c
23 touch_processor/els_touch.c)
25 #----------------------------------------------------
27 #----------------------------------------------------
28 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
29 SET(CMAKE_BUILD_TYPE "Release")
30 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
31 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
33 #----------------------------------------------------
34 # set include directories
35 #----------------------------------------------------
36 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}
37 ${CMAKE_SOURCE_DIR}/modal_utility
38 ${CMAKE_SOURCE_DIR}/touch_processor)
40 #----------------------------------------------------
41 # set pkg-config modules
42 #----------------------------------------------------
43 INCLUDE(FindPkgConfig)
44 pkg_check_modules(pkgs REQUIRED
45 elementary evas ecore-imf ecore ecore-x ecore-input
46 ewebkit appcore-efl ui-gadget dlog utilX glib-2.0)
47 FIND_LIBRARY(LIB_GNUTLS gnutls)
48 FOREACH(flag ${pkgs_CFLAGS})
49 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
52 #----------------------------------------------------
54 #----------------------------------------------------
55 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
56 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall")
57 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
58 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -g")
59 SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2")
61 #----------------------------------------------------
62 # enable constanct tbs as default tiled backingstore
63 #----------------------------------------------------
64 ADD_DEFINITIONS("-DLOG_TAG=\"elm-webview\"")
65 ADD_DEFINITIONS("-DEDJEDIR=\"${EDJEDIR}\"")
67 #----------------------------------------------------
69 #----------------------------------------------------
70 FIND_PROGRAM(UNAME NAMES uname)
71 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
72 IF("${ARCH}" STREQUAL "arm")
73 ADD_DEFINITIONS("-D_TARGET")
74 MESSAGE("add -D_TARGET")
75 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpie")
76 SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mabi=aapcs-linux -mfpu=vfp -mfloat-abi=softfp")
77 ENDIF("${ARCH}" STREQUAL "arm")
79 #----------------------------------------------------
81 #----------------------------------------------------
82 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
83 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
84 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
85 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${LIB_GNUTLS})
88 ADD_CUSTOM_TARGET(ewebview.edj
89 COMMAND edje_cc ${CMAKE_SOURCE_DIR}/ewebview.edc ${CMAKE_BINARY_DIR}/ewebview.edj
90 DEPENDS ${CMAKE_SOURCE_DIR}/ewebview.edc
92 ADD_DEPENDENCIES(${PROJECT_NAME} ewebview.edj)
94 #----------------------------------------------------
96 #----------------------------------------------------
97 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib COMPONENT RuntimeLibraries)
98 INSTALL(FILES ${CMAKE_SOURCE_DIR}/Elementary_webview.h DESTINATION include/elementary-webview-0)
99 #INSTALL(FILES ${CMAKE_SOURCE_DIR}/TIZEN_ElementaryWebView_PG.h DESTINATION include/elementary-webview-0)
100 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
101 INSTALL(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig)
102 INSTALL(FILES ${CMAKE_BINARY_DIR}/ewebview.edj DESTINATION ${EDJEDIR})
104 #----------------------------------------------------
106 #----------------------------------------------------
107 ADD_SUBDIRECTORY(modal_utility/modal_launcher)