/*************************************************************************** * * Copyright 2012 BMW Car IT GmbH * * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ****************************************************************************/ /*! \page howto Howtos and Step-by-Step Guides \section howtoPlugin Howto Create a LayerManagement Plugin \subsection howtoPluginBuildSystem Setup Build System \li create folder LayerManagerPlugins// (referred to as [PLUGIN_DIR]) \li add File CMakeLists.txt to [PLUGIN_DIR] using this template: \code ############################################################################ # # Copyright # # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ############################################################################ cmake_minimum_required (VERSION 2.6) #=========================================================================== # plugin configuration #=========================================================================== project(<>) project_type(PLUGIN) include_directories( include ${CMAKE_SOURCE_DIR}/LayerManagerUtils/include ${CMAKE_SOURCE_DIR}/LayerManagerBase/include ) set(LIBS LayerManagerUtils LayerManagerBase ) set(SRC_FILES <> ) #=========================================================================== # create plugin #=========================================================================== add_library(${PROJECT_NAME} ${LIBRARY_BUILDMODE} ${SRC_FILES}) install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/layermanager/<> ARCHIVE DESTINATION lib/layermanager/static) #=========================================================================== # external libraries #=========================================================================== target_link_libraries(${PROJECT_NAME} ${LIBS}) add_dependencies(${PROJECT_NAME} ${LIBS}) \endcode \li fill in your real values for \li <>: any name you like, bu no spaces or special characters except '-' or '_' (e.g. MyNewPlugin_v2_1) \li <>: list of source files to be included in plugin, usually a list like "src/fileA.cpp src/fileB.cpp src/fileC.cpp) \li <>: may be renderer, communicator, ipcmodule, sceneprovider, healthmonitor \subsection howtoPluginRenderer Create a Renderer Plugin \subsection howtoPluginCommunicator Create a Communicator Plugin \subsection howtoPluginSceneProvider Create a Scene Provider Plugin \subsection howtoPluginHealthMonitor Create a Health Monitor Plugin \subsection howtoPluginIpcModule Create a Ipc Module Plugin */