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