Git Init
[profile/ivi/wrt-plugins-tizen.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2
3
4 project(wrt-plugins-tizen)
5
6
7 ################################################################################
8 # Required platform modules
9
10 include(FindPkgConfig)
11
12 pkg_search_module(webkit REQUIRED ewebkit>=0.1.0)
13 pkg_search_module(dpl REQUIRED dpl-efl>=1.0.0)
14 pkg_search_module(wrt-plugin-api REQUIRED wrt-plugin-api>=1.1.1)
15 pkg_search_module(wrt-deviceapis-commons REQUIRED wrt-deviceapis-commons)
16 pkg_search_module(wrt-deviceapis-commons-javascript REQUIRED wrt-deviceapis-commons-javascript)
17
18 include_directories(
19   ${webkit_INCLUDE_DIRS}
20   ${dpl_INCLUDE_DIRS}
21   ${wrt-plugin-api_INCLUDE_DIRS}
22   ${wrt-deviceapis-commons_INCLUDE_DIRS}
23   ${wrt-deviceapis-commons-javascript_INCLUDE_DIRS}
24 )
25
26
27 ################################################################################
28 # Build options
29
30 #
31 # Logs
32 #
33
34 OPTION(DPL_LOG "DPL logs status" ON)
35
36 IF(DPL_LOG)
37     MESSAGE(STATUS "Logging enabled for DPL")
38     ADD_DEFINITIONS("-DDPL_LOGS_ENABLED")
39 ELSE(DPL_LOG)
40     MESSAGE(STATUS "Logging disabled for DPL")
41 ENDIF(DPL_LOG)
42
43 ###############################################################################
44 # Set build type (Release by default)
45 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
46      SET(CMAKE_BUILD_TYPE Release)
47 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
48
49 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
50
51 ##############################################################################
52 # Compiler flags
53 SET(CMAKE_C_FLAGS_PROFILING    "-O0 -g -pg")
54 SET(CMAKE_CXX_FLAGS_PROFILING  "-O0 -std=c++0x -g -pg")
55 SET(CMAKE_C_FLAGS_DEBUG        "-O0 -g")
56 SET(CMAKE_CXX_FLAGS_DEBUG      "-O0 -std=c++0x -g")
57 SET(CMAKE_C_FLAGS_RELEASE      "-O2 -g")
58 SET(CMAKE_CXX_FLAGS_RELEASE    "-O2 -std=c++0x -g")
59 ####
60
61 ADD_DEFINITIONS("-DEXPORT_API=")
62 ADD_DEFINITIONS("-Wall")
63 #ADD_DEFINITIONS("-Werror")
64 #ADD_DEFINITIONS("-Wextra")
65
66 ################################################################################
67 # Miscellaneous variables
68
69 set(CONFIG_FILE_NAME "config.cmake")
70 set(DIR_COMMONS ${CMAKE_SOURCE_DIR}/src/commons)
71 set(LIBS_COMMON
72     ${dpl_LDFLAGS}
73     ${webkit_LDFLAGS}
74     ${wrt-deviceapis-commons_LDFLAGS}
75     ${wrt-deviceapis-commons-javascript_LDFLAGS}
76     )
77
78
79 ################################################################################
80 # Target platform
81
82 if (NOT DEFINED PLATFORM)
83   set(PLATFORM "Tizen")
84 endif ()
85
86 include_directories(
87   ${CMAKE_CURRENT_SOURCE_DIR}/src
88   ${CMAKE_CURRENT_SOURCE_DIR}/src/platform
89   ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/${PLATFORM}
90   ${CMAKE_CURRENT_SOURCE_DIR}/src/standards
91 )
92
93 ################################################################################
94 # Schema of plugin's configuration file
95
96 set(COMMON_CONFIG_DTD ${CMAKE_CURRENT_SOURCE_DIR}/config.dtd)
97 set(COMMON_CONFIG_DTD_DST /usr/etc/tizen-apis)
98 INSTALL(FILES ${COMMON_CONFIG_DTD} DESTINATION ${COMMON_CONFIG_DTD_DST})
99
100
101 ################################################################################
102 # Macros used for including plugins from AL.
103
104 function(add_subdir NAME)
105   message(STATUS "Building: ${CMAKE_CURRENT_SOURCE_DIR}/${NAME}")
106   add_subdirectory(${NAME})
107 endfunction()
108
109
110 ################################################################################
111 # Subdirectories
112
113 add_subdirectory(src)
114
115
116 ################################################################################
117 # Cache
118
119 set(PLATFORM "${PLATFORM}" CACHE STRING "Target platform" FORCE)
120 set(CMAKE_CONFIG_FILE_NAME "${CMAKE_CONFIG_FILE_NAME}" CACHE 
121     STRING "CMake configuration file name." FORCE)
122
123
124 ################################################################################
125 # Summary
126
127 message(STATUS "PLATFORM = ${PLATFORM}")