Remove web storage usage popup
[platform/framework/web/wrt.git] / CMakeLists.txt
index 570aadf..2350e23 100644 (file)
@@ -27,51 +27,57 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 PROJECT(wrt)
 
 INCLUDE(FindPkgConfig)
-INCLUDE("CMakeUtils.txt")
-
-# Options
-OPTION(DPL_LOG "DPL logs status" ON)
-IF(DPL_LOG)
-    MESSAGE(STATUS "Logging enabled for DPL")
-    ADD_DEFINITIONS("-DDPL_LOGS_ENABLED")
-ELSE(DPL_LOG)
-    MESSAGE(STATUS "Logging disabled for DPL")
-ENDIF(DPL_LOG)
 
 STRING(REGEX MATCH "([^.]*)" PROJECT_API_VERSION "${PROJECT_VERSION}")
 ADD_DEFINITIONS("-DPROJECT_API_VERSION=\"$(PROJECT_API_VERSION)\"")
 MESSAGE(STATUS "Version from changelog: ${PROJECT_VERSION}")
 ADD_DEFINITIONS("-DWRT_ENGINE_VERSION=\"${PROJECT_VERSION}\"") # WRT_ENGINE_VERSION is used by UA
 #ADD_DEFINITIONS("-DWRT_SMACK_ENABLED")
-ADD_DEFINITIONS("-DSEPARATED_SINGLETON_IMPLEMENTATION")
-
-# Build arch
-IF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "arm")
-    ADD_DEFINITIONS("-DSYSTEM_PROCESSOR_ARM")
-ENDIF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "arm")
-IF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386")
-    ADD_DEFINITIONS("-DSYSTEM_PROCESSOR_I386")
-ENDIF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386")
-
-# DSEPARATED. need to clean up
-OPTION(DNET "DNET : not always on mode" OFF)
-IF(DNET)
-    MESSAGE(STATUS "add -DUSE_DNET")
-    ADD_DEFINITIONS("-DUSE_DNET")
-ENDIF(DNET)
 
 #############################
+# Build type
+IF(NOT CMAKE_BUILD_TYPE)
+    SET(CMAKE_BUILD_TYPE "Release")
+ENDIF(NOT CMAKE_BUILD_TYPE)
+
+OPTION(DPL_LOG "DPL logs status" ON)
+OPTION(WITH_TESTS "Build tests" OFF)
+#enable csp policy support
+OPTION(CSP_SUPPORT "Support for csp policy" ON)
+IF(CSP_SUPPORT)
+    ADD_DEFINITIONS("-DCSP_ENABLED")
+ENDIF(CSP_SUPPORT)
+# logs can be only enabled in debug mode
+IF(CMAKE_BUILD_TYPE MATCHES "Profiling" AND DPL_LOG)
+    MESSAGE(STATUS "Logging disabled for DPL")
+ELSE(CMAKE_BUILD_TYPE MATCHES "Profiling" AND DPL_LOG)
+    ADD_DEFINITIONS("-DDPL_LOGS_ENABLED")
+    MESSAGE(STATUS "Logging enabled for DPL")
+ENDIF(CMAKE_BUILD_TYPE MATCHES "Profiling" AND DPL_LOG)
+
+MESSAGE(STATUS "WITH_TESTS: " ${WITH_TESTS})
+MESSAGE(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
+OPTION(PROFILING "Profiling status" OFF)
+IF(CMAKE_BUILD_TYPE MATCHES "Profiling")
+    MESSAGE(STATUS "PROFILING: ENABLED")
+    ADD_DEFINITIONS("-DPROFILING_ENABLED")
+    SET(PROFILING ON)
+ELSE(CMAKE_BUILD_TYPE MATCHES "Profiling")
+    MESSAGE(STATUS "PROFILING: DISABLED")
+ENDIF(CMAKE_BUILD_TYPE MATCHES "Profiling")
+
 # Compiler flags
-SET(CMAKE_BUILD_TYPE           "Release")
-SET(CMAKE_C_FLAGS_PROFILING    "-O0 -g -pg")
-SET(CMAKE_CXX_FLAGS_PROFILING  "-O0 -std=c++0x -g -pg")
+SET(CMAKE_C_FLAGS_PROFILING    "-O2")
+SET(CMAKE_CXX_FLAGS_PROFILING  "-O2 -std=c++0x")
 SET(CMAKE_C_FLAGS_DEBUG        "-O0 -g")
 SET(CMAKE_CXX_FLAGS_DEBUG      "-O0 -std=c++0x -g")
 SET(CMAKE_C_FLAGS_RELEASE      "-O2 -g")
 SET(CMAKE_CXX_FLAGS_RELEASE    "-O2 -std=c++0x -g")
+SET(CMAKE_CXX_FLAGS_CCOV       "-O0 -std=c++0x -g --coverage")
 
 ADD_DEFINITIONS("-fPIC")                        # If supported for the target machine, emit position-independent code, suitable for dynamic linking and avoiding any limit on the size of the global offset table. This option makes a difference on the m68k, PowerPC and SPARC. (BJ: our ARM too?)
 #ADD_DEFINITIONS("-fvisibility=hidden")          # Set the default ELF image symbol visibility to hidden - all symbols will be marked with this unless overridden within the code.
+ADD_DEFINITIONS("-fPIE")
 
 # Set compiler warning flags
 #ADD_DEFINITIONS("-Werror")                      # Make all warnings into errors.
@@ -123,23 +129,17 @@ ADD_DEFINITIONS("-Wno-deprecated")               # No warnings about deprecated
 SET(TARGET_WRT_ENGINE_STATIC  "wrt-engine-static")
 SET(TARGET_TESTS_COMMON_LIB "wrt-engine-tests-lib") #tests only
 SET(TARGET_PROFILING_LIB "wrt-profiling")
-SET(TARGET_PLUGIN_LOADING_LIB "wrt-plugin-loading")
-SET(TARGET_VIEW_MODULE1_LIB "wrt-view-module1")
+SET(TARGET_PLUGIN_MODULE_LIB "wrt-plugin-module")
+SET(TARGET_VIEW_MODULE_LIB "wrt-view-module")
+SET(TARGET_CORE_MODULE_LIB "wrt-core-module")
+SET(TARGET_BUNDLES_LIB "wrt-wk2-bundle")
 
-# PROFILING
-# need to check build with OFF
-OPTION(PROFILING "Profiling enabled" ON)
+SET(PROF_LIB "")
 IF(PROFILING)
-    MESSAGE(STATUS "PROFILING: ENABLED")
-    ADD_DEFINITIONS("-DPROFILING_ENABLED")             
-    SET(PROF_LIB ${TARGET_PROFILING_LIB})              
-ELSE(PROFILING)
-    MESSAGE(STATUS "PROFILING: DISABLED")
-    SET(PROF_LIB "")           
+    SET(PROF_LIB ${TARGET_PROFILING_LIB})
 ENDIF(PROFILING)
 
-INSTALL(FILES 
-    ${PROJECT_SOURCE_DIR}/wrt_policy_setter.sh
+INSTALL(FILES
     ${PROJECT_SOURCE_DIR}/wrt_reset_db.sh
     ${PROJECT_SOURCE_DIR}/wrt_reset_all.sh
     DESTINATION /usr/bin/
@@ -148,15 +148,14 @@ INSTALL(FILES ${CMAKE_SOURCE_DIR}/warp_security_error.msg
     DESTINATION /usr/etc/wrt/
     PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ GROUP_WRITE
     )
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/roaming_error.msg
-    DESTINATION /usr/etc/wrt/
-    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ GROUP_WRITE
-    )
 INSTALL(FILES ${CMAKE_SOURCE_DIR}/parental.png
     DESTINATION /usr/etc/wrt/
     PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ GROUP_WRITE
     )
-INSTALL(FILES   ${CMAKE_SOURCE_DIR}/data/wrt_widget_default_icon.png
+INSTALL(FILES   ${CMAKE_SOURCE_DIR}/data/default_icon_tizen.png
+    DESTINATION share/wrt-engine/
+    )
+INSTALL(FILES   ${CMAKE_SOURCE_DIR}/data/default_icon_wac.png
     DESTINATION share/wrt-engine/
     )
 INSTALL(FILES   ${CMAKE_SOURCE_DIR}/data/userAgentProfile.xml
@@ -165,12 +164,8 @@ INSTALL(FILES   ${CMAKE_SOURCE_DIR}/data/userAgentProfile.xml
 INSTALL(FILES   ${CMAKE_SOURCE_DIR}/data/WAC2.0TestRootCA.cert
     DESTINATION share/wrt-engine/
     )
-ADD_CUSTOM_COMMAND(
-    OUTPUT ${PROJECT_SOURCE_DIR}/data/communicationBox.edj
-    COMMAND edje_cc
-    ARGS  ${PROJECT_SOURCE_DIR}/data/communicationBox.edc
-          ${PROJECT_SOURCE_DIR}/data/communicationBox.edj
-    DEPENDS ${PROJECT_SOURCE_DIR}/data/communicationBox.edc
+INSTALL(FILES   ${CMAKE_SOURCE_DIR}/data/AutoSave.js
+    DESTINATION share/wrt-engine/
     )
 ADD_CUSTOM_COMMAND(
     OUTPUT ${PROJECT_SOURCE_DIR}/data/wrt_theme.edj
@@ -186,8 +181,12 @@ ADD_CUSTOM_COMMAND(
           ${PROJECT_SOURCE_DIR}/data/Daemon.edj
     DEPENDS ${PROJECT_SOURCE_DIR}/data/Daemon.edc
     )
-ADD_CUSTOM_TARGET( ACE_EDJES ALL DEPENDS
-    ${PROJECT_SOURCE_DIR}/data/communicationBox.edj
+ADD_CUSTOM_COMMAND(
+    OUTPUT ${PROJECT_SOURCE_DIR}/data/Platform.edj
+    COMMAND edje_cc
+    ARGS  ${PROJECT_SOURCE_DIR}/data/Platform.edc
+          ${PROJECT_SOURCE_DIR}/data/Platform.edj
+    DEPENDS ${PROJECT_SOURCE_DIR}/data/Platform.edc
     )
 ADD_CUSTOM_TARGET( WRT_THEME_EDJES ALL DEPENDS
     ${PROJECT_SOURCE_DIR}/data/wrt_theme.edj
@@ -195,6 +194,9 @@ ADD_CUSTOM_TARGET( WRT_THEME_EDJES ALL DEPENDS
 ADD_CUSTOM_TARGET( WRT_EDJES ALL DEPENDS
     ${PROJECT_SOURCE_DIR}/data/Daemon.edj
     )
+ADD_CUSTOM_TARGET( WRT_PLATFORM_LAYOUT_EDJES ALL DEPENDS
+    ${PROJECT_SOURCE_DIR}/data/Platform.edj
+    )
 ADD_CUSTOM_COMMAND(
     OUTPUT ${PROJECT_SOURCE_DIR}/data/generic_popup.edj
     COMMAND edje_cc
@@ -208,15 +210,15 @@ ADD_CUSTOM_TARGET(generic_popup ALL DEPENDS
 INSTALL(FILES   ${PROJECT_SOURCE_DIR}/data/generic_popup.edj
     DESTINATION share/edje/ace/
     )
-INSTALL(FILES   ${PROJECT_SOURCE_DIR}/data/communicationBox.edj
-    DESTINATION share/edje/ace/
-    )
 INSTALL(FILES   ${PROJECT_SOURCE_DIR}/data/wrt_theme.edj
     DESTINATION share/edje/wrt/
     )
 INSTALL(FILES   ${PROJECT_SOURCE_DIR}/data/Daemon.edj
     DESTINATION share/edje/wrt/
     )
+INSTALL(FILES   ${PROJECT_SOURCE_DIR}/data/Platform.edj
+    DESTINATION share/edje/wrt/
+    )
 ADD_CUSTOM_COMMAND(
     OUTPUT ${PROJECT_SOURCE_DIR}/data/generic_popup_horizontal.edj
     COMMAND edje_cc
@@ -233,19 +235,20 @@ INSTALL(FILES   ${PROJECT_SOURCE_DIR}/data/generic_popup_horizontal.edj
 
 ADD_SUBDIRECTORY(src)
 ADD_SUBDIRECTORY(po)
-ADD_SUBDIRECTORY(tests)
 
-#############################
-#PKG CONFIGS
-set(PKGCONFIG_DIR ${PROJECT_SOURCE_DIR}/pkgconfigs)
-
-macro(configure_and_install_pkg PKG_FILE)
-    CONFIGURE_FILE(${PKGCONFIG_DIR}/${PKG_FILE}.in
-               ${PKGCONFIG_DIR}/${PKG_FILE} @ONLY)
-    INSTALL(FILES ${PKGCONFIG_DIR}/${PKG_FILE} DESTINATION lib/pkgconfig)
-endmacro(configure_and_install_pkg)
-
-configure_and_install_pkg(wrt-plugin-api.pc)
-configure_and_install_pkg(wrt-engine.pc)
-configure_and_install_pkg(wrt-ace-client.pc)
-configure_and_install_pkg(wrt-plugin-loading.pc)
+SET(WRT_API_NEW_INCLUDES
+    "${PROJECT_SOURCE_DIR}/src/api_new/"
+    "${PROJECT_SOURCE_DIR}/src/domain/"
+    "${PROJECT_SOURCE_DIR}/src/view/")
+
+SET(PKGCONFIG_DIR ${PROJECT_SOURCE_DIR}/pkgconfig)
+
+CONFIGURE_FILE(${PKGCONFIG_DIR}/wrt-core.pc.in
+    ${PKGCONFIG_DIR}/wrt-core.pc @ONLY)
+INSTALL(FILES ${PKGCONFIG_DIR}/wrt-core.pc DESTINATION lib/pkgconfig)
+
+IF(WITH_TESTS)
+    add_subdirectory(tests)
+ENDIF(WITH_TESTS)
+
+