# 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)
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)
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)
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)
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)
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)
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)
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)
# store used build configuration
#===========================================================================================================
add_subdirectory_once(config)
+