first release !
[profile/ivi/genivi/genivi-audio-manager.git] / PluginControlInterface / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2
3 PROJECT(PluginControlInterface)
4
5 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic")
6 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -pipe -g -Wall -W -D_REENTRANT")
7
8 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}")
9
10 set(STD_INCLUDE_DIRS "/usr/include")
11 set(EXECUTABLE_OUTPUT_PATH ../../bin/)
12 set(LIBRARY_OUTPUT_PATH ../plugins/control)
13 set(DOC_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/../doc/PluginControl)
14 set(AUDIO_INCLUDES_FOLDER ${CMAKE_SOURCE_DIR}/../includes)
15 set(INCLUDES_FOLDER ${CMAKE_SOURCE_DIR}/include)
16
17 set(DOCUMENT $ENV{gendoc})
18 FIND_PACKAGE(PkgConfig)
19 pkg_check_modules(DLT REQUIRED automotive-dlt)
20
21 file(MAKE_DIRECTORY ${DOC_OUTPUT_PATH})
22
23 INCLUDE_DIRECTORIES(
24         ${CMAKE_SOURCE_DIR} 
25         ${STD_INCLUDE_DIRS}
26         ${CMAKE_CURRENT_BINARY_DIR}
27         ${AUDIO_INCLUDES_FOLDER}
28         ${INCLUDES_FOLDER}
29 )
30
31 # all source files go here
32 file(GLOB PLUGIN_STANDARD_HOOKS_SRCS_CXX "src/*.cpp")
33
34 add_library(PluginControlInterface SHARED ${PLUGIN_STANDARD_HOOKS_SRCS_CXX})
35
36 TARGET_LINK_LIBRARIES(PluginControlInterface 
37     ${DLT_LIBRARIES})
38
39 #add a target to generate API documentation with Doxygen
40 find_package(Doxygen)
41 if(DOXYGEN_FOUND)
42 if(DOCUMENT)
43         configure_file(Doxyfile.in ${PROJECT_BINARY_DIR}/Doxyfile  @ONLY IMMEDIATE)
44         add_custom_target (Docs ALL 
45         COMMAND ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile WORKING_DIRECTORY ${DOC_OUTPUT_PATH}
46         SOURCES ${PROJECT_BINARY_DIR}/Doxyfile)
47 endif(DOCUMENT)
48 endif(DOXYGEN_FOUND)
49