TcpIpcModule: fixed several C90 compiler warnings
[profile/ivi/layer-management.git] / CMakeLists.txt
index 18336bc..9e3e81e 100644 (file)
@@ -25,17 +25,57 @@ project (LayerManager)
 # cmake configuration
 #===========================================================================================================
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/")
-include(${CMAKE_MODULE_PATH}/DefaultSettings.txt)
-include(${CMAKE_MODULE_PATH}/CMakeVersions.txt)
-include(${CMAKE_MODULE_PATH}/CustomMacros.txt)
+include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/DefaultSettings.txt)
+include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/CMakeVersions.txt)
+include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/CustomMacros.txt)
 add_subdirectory(cmake/optionalFeatures)
 
 #===========================================================================================================
-# global build flags
+build_flag (WITH_FORCE_COPY "Force Software Copy of Pixmaps (compatibility for VMs)" OFF)
 #===========================================================================================================
-build_flag (WITH_FORCE_COPY       "Force Software Copy of Pixmaps (compatibility for VMs)" OFF)
-build_flag (WITH_DLT              "Build with DLT logging support"                         OFF)
-build_flag (WITH_STATIC_LIBRARIES "Link all plugins and libraries statically"              OFF)
+# no dedicated actions required here
+
+#===========================================================================================================
+build_flag (WITH_DLT "Build with DLT logging support" OFF)
+#===========================================================================================================
+# no dedicated actions required here
+
+#===========================================================================================================
+build_flag (WITH_STATIC_LIBRARIES "Link all plugins and libraries statically" OFF)
+#===========================================================================================================
+# no dedicated actions required here
+
+#===========================================================================================================
+build_flag (WITH_STYLE_CHECKING "Report styleguide problems during build (requires python)" OFF)
+#===========================================================================================================
+if (WITH_STYLE_CHECKING)
+    set(CMAKE_C_COMPILE_OBJECT "${CMAKE_C_COMPILE_OBJECT}; ${CMAKE_SOURCE_DIR}/scripts/check_all_styles.py <SOURCE>")
+    set(CMAKE_CXX_COMPILE_OBJECT "${CMAKE_CXX_COMPILE_OBJECT}; ${CMAKE_SOURCE_DIR}/scripts/check_all_styles.py <SOURCE>")
+endif (WITH_STYLE_CHECKING)
+add_custom_target(check-style COMMAND ${CMAKE_SOURCE_DIR}/scripts/check_style.sh)
+
+#===========================================================================================================
+build_flag (WITH_DOCUMENTATION "Generate documentation during build (requires doxygen)" OFF)
+#===========================================================================================================
+if (WITH_DOCUMENTATION)
+    add_custom_target(doc ALL
+                      COMMAND ${CMAKE_SOURCE_DIR}/generate_specification.sh
+                      WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
+else (WITH_DOCUMENTATION)
+    add_custom_target(doc
+                      COMMAND ${CMAKE_SOURCE_DIR}/generate_specification.sh
+                      WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
+endif (WITH_DOCUMENTATION)
+
+#===========================================================================================================
+build_flag (WITH_CPPCHECK "Run cppcheck during build (requires cppcheck)" OFF)
+# add build target 'cppcheck' to run pre-defined configuration of cppcheck
+#===========================================================================================================
+if (WITH_CPPCHECK)
+    set(CMAKE_C_COMPILE_OBJECT "${CMAKE_C_COMPILE_OBJECT}; cppcheck <SOURCE> ${CPPCHECK_CONFIG_STRING}")
+    set(CMAKE_CXX_COMPILE_OBJECT "${CMAKE_CXX_COMPILE_OBJECT}; cppcheck <SOURCE> ${CPPCHECK_CONFIG_STRING}")
+endif (WITH_CPPCHECK)
+add_custom_target(cppcheck COMMAND cppcheck ${CMAKE_SOURCE_DIR}/LayerManager*/ ${CPPCHECK_CONFIG})
 
 #===========================================================================================================
 build_flag (WITH_TESTS "Build unit test binaries for all enabled components" OFF)
@@ -122,6 +162,8 @@ endif(WITH_SYSTEMD_HEALTH_MONITOR)
 build_flag (WITH_GENERIC_COMMUNICATOR "Build Generic Communicator Plugin based on IpcModules" ON)
 #===========================================================================================================
 if (WITH_GENERIC_COMMUNICATOR)
+    add_subdirectory_once (LayerManagerUtils)
+    add_subdirectory_once (LayerManagerBase)
     add_subdirectory_once (LayerManagerPlugins/IpcModules)
     add_subdirectory_once (LayerManagerCommands)
     add_subdirectory_once (LayerManagerPlugins/Communicators/GenericCommunicator)
@@ -139,7 +181,6 @@ endif(WITH_DESKTOP)
 build_flag (WITH_GLX_LIB "Build development library for OpenGL/X11 based renderers" OFF)
 #===========================================================================================================
 if (WITH_GLX_LIB)
-    add_subdirectory_once (LayerManagerPlugins/Renderers/Graphic)
     add_subdirectory_once (LayerManagerPlugins/Renderers/GraphicLib/LayerManagerGraphicGLX)
 endif(WITH_GLX_LIB)
 
@@ -158,7 +199,6 @@ endif(WITH_WAYLAND_X11)
 build_flag (WITH_WAYLAND_X11_LIB "Build development library for GLES/Wayland X11 based renderers" OFF)
 #===========================================================================================================
 if (WITH_WAYLAND_X11_LIB)
-    add_subdirectory_once (LayerManagerPlugins/Renderers/Graphic)
     add_subdirectory_once (LayerManagerPlugins/Renderers/GraphicLib/LayerManagerGraphicWaylandX11GLESv2)
 endif(WITH_WAYLAND_X11_LIB)
 
@@ -177,7 +217,6 @@ endif(WITH_WAYLAND_DRM)
 build_flag (WITH_WAYLAND_DRM_LIB "Build development library for GLES/Wayland DRM based renderers" OFF)
 #===========================================================================================================
 if (WITH_WAYLAND_DRM_LIB)
-    add_subdirectory_once (LayerManagerPlugins/Renderers/Graphic)
     add_subdirectory_once (LayerManagerPlugins/Renderers/GraphicLib/LayerManagerGraphicWaylandDrmGLESv2)
 endif(WITH_WAYLAND_DRM_LIB)
 
@@ -196,7 +235,6 @@ endif(WITH_WAYLAND_FBDEV)
 build_flag (WITH_WAYLAND_FBDEV_LIB "Build development library for GLES/Wayland FBDEV based renderers" OFF)
 #===========================================================================================================
 if (WITH_WAYLAND_FBDEV_LIB)
-    add_subdirectory_once (LayerManagerPlugins/Renderers/Graphic)
     add_subdirectory_once (LayerManagerPlugins/Renderers/GraphicLib/LayerManagerGraphicWaylandFbdevGLESv2)
 endif(WITH_WAYLAND_FBDEV_LIB)
 
@@ -212,7 +250,6 @@ endif(WITH_X11_GLES)
 build_flag (WITH_GLESv2_LIB "Build development library for GLES/X11 based renderers" OFF)
 #===========================================================================================================
 if (WITH_GLESv2_LIB)
-    add_subdirectory_once (LayerManagerPlugins/Renderers/Graphic)
     add_subdirectory_once (LayerManagerPlugins/Renderers/GraphicLib/LayerManagerGraphicGLESv2)
 endif(WITH_GLESv2_LIB)
 
@@ -243,7 +280,7 @@ if (WITH_CLIENT_LIB)
 endif (WITH_CLIENT_LIB)
 
 #===========================================================================================================
-build_flag (WITH_CONTROL_LIB "Build LayerManagement control library" OFF)
+build_flag (WITH_CONTROL_LIB "Build LayerManagement control library" ON)
 #===========================================================================================================
 if (WITH_CONTROL_LIB)
     add_subdirectory_once (LayerManagerUtils)
@@ -256,3 +293,4 @@ endif (WITH_CONTROL_LIB)
 # store used build configuration
 #===========================================================================================================
 add_subdirectory_once(config)
+