X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=CMakeLists.txt;h=87773104a31d6820d42ea515b8327b0795837ab6;hb=37029083842ca96120efc68bba385daf71ebe016;hp=ffa4731254796d9f8e9f358bbcdc9dcfce4ba99d;hpb=9c61c076f198660f9d9683fc1f091cbc95b3286b;p=platform%2Fframework%2Fweb%2Fwrt-plugins-common.git diff --git a/CMakeLists.txt b/CMakeLists.txt index ffa4731..8777310 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,66 +14,75 @@ # cmake_minimum_required(VERSION 2.6) -IF("${CMAKE_PROJECT_NAME}" STREQUAL "") - SET(CMAKE_PROJECT_NAME wrt-plugins-common) -ENDIF("${CMAKE_PROJECT_NAME}" STREQUAL "") - +SET(CMAKE_PROJECT_NAME wrt-plugins-common) set(PACKAGE_NAME ${CMAKE_PROJECT_NAME}) - project(${CMAKE_PROJECT_NAME}) +STRING(REGEX MATCH "([^.]*)" CMAKE_PROJECT_API_VERSION "${CMAKE_PROJECT_VERSION}") ################################################################################ # Required platform modules include(FindPkgConfig) -pkg_search_module(dpl REQUIRED dpl-efl>=1.0.0) +pkg_search_module(dpl REQUIRED dpl-efl>=0.2.21) include_directories( ${dpl_INCLUDE_DIRS} -) - - -# -# Logs -# -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) - - -############################################################################### -# Set build type (Release by default) -IF("${CMAKE_BUILD_TYPE}" STREQUAL "") - SET(CMAKE_BUILD_TYPE Release) -ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "") - -MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") + ${CMAKE_CURRENT_SOURCE_DIR}/src/ + ${CMAKE_CURRENT_SOURCE_DIR}/src/modules/API + ${CMAKE_CURRENT_SOURCE_DIR}/src/Commons + ${CMAKE_CURRENT_SOURCE_DIR}/src/CommonsJavaScript + ${CMAKE_CURRENT_SOURCE_DIR}/src/plugin-loading + ${CMAKE_CURRENT_SOURCE_DIR}/src/js-overlay + ${CMAKE_CURRENT_SOURCE_DIR}/src/wrt-popup/ace/popup-runner + ${CMAKE_CURRENT_SOURCE_DIR}/src/plugins_ipc_message + ${CMAKE_CURRENT_SOURCE_DIR}/src/dispatch-event) ############################################################################## +# Build type +IF(NOT CMAKE_BUILD_TYPE) + SET(CMAKE_BUILD_TYPE "Release") +ENDIF(NOT CMAKE_BUILD_TYPE) + # Compiler flags -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") #### +OPTION(DPL_LOG "DPL logs status" ON) +OPTION(WITH_TESTS "Build tests" OFF) + +IF(DPL_LOG AND NOT CMAKE_BUILD_TYPE MATCHES "profiling") + MESSAGE(STATUS "Logging enabled for DPL") + ADD_DEFINITIONS("-DDPL_LOGS_ENABLED") +ELSE(DPL_LOG AND NOT CMAKE_BUILD_TYPE MATCHES "profiling") + MESSAGE(STATUS "Logging disabled for DPL") +ENDIF(DPL_LOG AND NOT CMAKE_BUILD_TYPE MATCHES "profiling") + +MESSAGE(STATUS "WITH_TESTS: " ${WITH_TESTS}) + +ADD_DEFINITIONS("-fPIC") ADD_DEFINITIONS("-fvisibility=default") # mark all exported symbols as visible +ADD_DEFINITIONS("-fPIC") # If supported for the target machine, emit position-independent code, suitable for dynamic linking and avoiding ADD_DEFINITIONS("-DEXPORT_API=") ADD_DEFINITIONS("-Wall") -ADD_DEFINITIONS("-Werror") +#ADD_DEFINITIONS("-Werror") ADD_DEFINITIONS("-Wextra") ADD_DEFINITIONS("-Wno-deprecated") +#ADD_DEFINITIONS("-DDEVPKG") +# GCC 4.7 changes the scheme of name lookup. Guide: http://gcc.gnu.org/gcc-4.7/porting_to.html +ADD_DEFINITIONS("-fpermissive") -#disable default singleton implementation -ADD_DEFINITIONS("-DSEPARATED_SINGLETON_IMPLEMENTATION") +############################################################################## +# CMake flags +IF (DEVPKG) + SET(DEVPKG "ON") +ENDIF(DEVPKG) ################################################################################ # Miscellaneous variables @@ -86,6 +95,8 @@ set(DESTINATION_HEADER_PREFIX include/${PROJECT_NAME}) set(DESTINATION_HEADERS_NON_JS ${DESTINATION_HEADER_PREFIX}/Commons) set(DESTINATION_HEADERS_JS ${DESTINATION_HEADER_PREFIX}/CommonsJavaScript) +set(DESTINATION_HEADERS_JS_OVERLAY ${DESTINATION_HEADER_PREFIX}/js-overlay) +set(DESTINATION_HEADERS_WRT_POPUP_RUNNER ${DESTINATION_HEADER_PREFIX}/popup-runner) ################################################################################ # Target platform @@ -95,6 +106,13 @@ if (NOT DEFINED PLATFORM) endif () ################################################################################ +# Schema of plugin's configuration file + +set(COMMON_CONFIG_DTD ${CMAKE_CURRENT_SOURCE_DIR}/config.dtd) +set(COMMON_CONFIG_DTD_DST /usr/etc/wrt-plugins) +INSTALL(FILES ${COMMON_CONFIG_DTD} DESTINATION ${COMMON_CONFIG_DTD_DST}) + +################################################################################ # Macros used for including plugins from AL. @@ -107,7 +125,10 @@ endfunction() # Subdirectories add_subdirectory(src) -add_subdirectory(tests) + +IF(WITH_TESTS) + add_subdirectory(tests) +ENDIF(WITH_TESTS) ################################################################################ # PKGCONFIG @@ -123,26 +144,17 @@ endmacro(configure_and_install_pkg) configure_and_install_pkg(wrt-plugins-commons-javascript.pc) configure_and_install_pkg(wrt-plugins-commons.pc) configure_and_install_pkg(wrt-plugins-filesystem.pc) -configure_and_install_pkg(wrt-plugins-camera.pc) -configure_and_install_pkg(wrt-plugins-messaging.pc) -configure_and_install_pkg(wrt-plugins-calendar.pc) -configure_and_install_pkg(wrt-plugins-haptics.pc) -configure_and_install_pkg(wrt-plugins-contact.pc) -configure_and_install_pkg(wrt-plugins-mmplayer.pc) -configure_and_install_pkg(wrt-plugins-widget.pc) -configure_and_install_pkg(wrt-plugins-cpu.pc) -configure_and_install_pkg(wrt-plugins-accelerometer.pc) -configure_and_install_pkg(wrt-plugins-task.pc) -configure_and_install_pkg(wrt-plugins-orientation.pc) -configure_and_install_pkg(wrt-plugins-radio.pc) -configure_and_install_pkg(wrt-plugins-power.pc) -configure_and_install_pkg(wrt-plugins-profile.pc) -configure_and_install_pkg(wrt-plugins-localstorage.pc) -configure_and_install_pkg(wrt-plugins-systeminfo.pc) -configure_and_install_pkg(wrt-plugins-widget_interface_dao.pc) -configure_and_install_pkg(wrt-plugins-storageevent.pc) +configure_and_install_pkg(wrt-plugins-widget-interface-dao.pc) configure_and_install_pkg(wrt-plugins-widgetdb.pc) configure_and_install_pkg(wrt-plugins-plugin-manager.pc) +configure_and_install_pkg(wrt-plugin-loading.pc) +configure_and_install_pkg(wrt-plugin-js-overlay.pc) +configure_and_install_pkg(wrt-popup-runner.pc) +configure_and_install_pkg(wrt-popup-ace-runner.pc) +configure_and_install_pkg(wrt-popup-wrt-runner.pc) +configure_and_install_pkg(wrt-plugins-api-support.pc) +configure_and_install_pkg(wrt-plugins-ipc-message.pc) +configure_and_install_pkg(wrt-dispatch-event.pc) ################################################################################ # Cache @@ -151,6 +163,14 @@ set(PLATFORM "${PLATFORM}" CACHE STRING "Target platform" FORCE) set(CMAKE_CONFIG_FILE_NAME "${CMAKE_CONFIG_FILE_NAME}" CACHE STRING "CMake configuration file name." FORCE) +################################################################################ +# SMACK rule + +INSTALL(FILES ${CMAKE_SOURCE_DIR}/wrt-popup-ace-runtime.rule DESTINATION /etc/smack/accesses2.d) +INSTALL(FILES ${CMAKE_SOURCE_DIR}/wrt-popup-wrt-runtime.rule DESTINATION /etc/smack/accesses2.d) +# temp for smack branch +INSTALL(FILES ${CMAKE_SOURCE_DIR}/accesses.d/wrt-popup-ace-runtime.rule DESTINATION /opt/etc/smack/accesses.d) +INSTALL(FILES ${CMAKE_SOURCE_DIR}/accesses.d/wrt-popup-wrt-runtime.rule DESTINATION /opt/etc/smack/accesses.d) ################################################################################ # Summary