Merge "Fixed crash when get detail info"
[framework/web/wrt-installer.git] / CMakeLists.txt
index 169d293..b9bb8b9 100644 (file)
@@ -26,33 +26,55 @@ PROJECT("wrt-installer")
 
 INCLUDE(FindPkgConfig)
 
+############################# build type ######################################
+
+IF(NOT CMAKE_BUILD_TYPE)
+    SET(CMAKE_BUILD_TYPE "Release")
+ENDIF(NOT CMAKE_BUILD_TYPE)
+
 ############################# compilation defines #############################
 
-# EMPTY
+
+#csp from .xml parsing enabled
+OPTION(CSP_SUPPORT "Support for csp policy" OFF)
+
+IF(CSP_SUPPORT)
+    ADD_DEFINITIONS("-DCSP_ENABLED")
+ENDIF(CSP_SUPPORT)
 
 ############################# 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)
-IF(DPL_LOG)
+OPTION(WITH_TESTS "Build tests" OFF)
+OPTION(MULTIPROCESS_SERVICE_SUPPORT "Process per service" OFF)
+OPTION(MULTIPROCESS_SERVICE_SUPPORT_INLINE "Process per service - inline mode support" 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})
+IF(MULTIPROCESS_SERVICE_SUPPORT)
+    ADD_DEFINITIONS("-DMULTIPROCESS_SERVICE_SUPPORT")
+    IF (MULTIPROCESS_SERVICE_SUPPORT_INLINE)
+        ADD_DEFINITIONS("-DMULTIPROCESS_SERVICE_SUPPORT_INLINE")
+    ENDIF(MULTIPROCESS_SERVICE_SUPPORT_INLINE)
+ENDIF(MULTIPROCESS_SERVICE_SUPPORT)
 
 # 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("-fPIC")
-ADD_DEFINITIONS("-DSEPARATED_SINGLETON_IMPLEMENTATION")
 
 # Set the default ELF image symbol visibility to hidden - all symbols will be
 # marked with this unless overridden within the code.
@@ -64,7 +86,7 @@ ADD_DEFINITIONS("-Wall")                # Generate all warnings
 ADD_DEFINITIONS("-Wextra")              # Generate even more extra warnings
 ADD_DEFINITIONS("-Wno-variadic-macros") # Inhibit variadic macros warnings (needed for ORM)
 ADD_DEFINITIONS("-Wno-deprecated")      # No warnings about deprecated features
-ADD_DEFINITIONS("-std=c++0x")           # No warnings about deprecated features
+ADD_DEFINITIONS("-std=c++0x")           # accept C++11x standard
 #ADD_DEFINITIONS("-DWRT_SMACK_ENABLED")
 
 ############################# Targets names ###################################
@@ -72,9 +94,11 @@ ADD_DEFINITIONS("-std=c++0x")           # No warnings about deprecated features
 SET(TARGET_INSTALLER_STATIC "wrt-installer_static")
 SET(TARGET_INSTALLER "wrt-installer")
 SET(TARGET_BACKEND_LIB "wgt")
-SET(TARGET_CONFIG_GEN_LIB "wrt-config-generator")
 
 ############################# subdirectories ##################################
-
 ADD_SUBDIRECTORY(src)
-ADD_SUBDIRECTORY(tests)
+ADD_SUBDIRECTORY(etc)
+
+IF(WITH_TESTS)
+    ADD_SUBDIRECTORY(tests)
+ENDIF(WITH_TESTS)