include_directories(
${dpl_INCLUDE_DIRS}
-)
+ ${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)
##############################################################################
+# Build type
+IF(NOT CMAKE_BUILD_TYPE)
+ SET(CMAKE_BUILD_TYPE "Release")
+ENDIF(NOT CMAKE_BUILD_TYPE)
+
# 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")
####
OPTION(DPL_LOG "DPL logs status" ON)
-IF(DPL_LOG)
+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)
+ELSE(DPL_LOG AND NOT CMAKE_BUILD_TYPE MATCHES "profiling")
MESSAGE(STATUS "Logging disabled for DPL")
-ENDIF(DPL_LOG)
+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("-Werror")
ADD_DEFINITIONS("-Wextra")
ADD_DEFINITIONS("-Wno-deprecated")
-ADD_DEFINITIONS("-DSEPARATED_SINGLETON_IMPLEMENTATION")
-#ADD_DEFINITIONS("-DW3C_TEST")
#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")
##############################################################################
# CMake flags
-IF (W3C_TEST)
- SET(W3C_TEST "ON")
-ENDIF(W3C_TEST)
IF (DEVPKG)
SET(DEVPKG "ON")
ENDIF(DEVPKG)
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
add_subdirectory(src)
+IF(WITH_TESTS)
+ add_subdirectory(tests)
+ENDIF(WITH_TESTS)
+
################################################################################
# PKGCONFIG
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-mmplayer.pc)
-configure_and_install_pkg(wrt-plugins-cpu.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)
################################################################################
# Cache
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
message(STATUS "PLATFORM = ${PLATFORM}")
-message(STATUS "W3C_TEST = ${W3C_TEST}")