3f156a5c2e7bb3453746f29cbc6217068bfcade0
[profile/ivi/genivi/genivi-audio-manager.git] / cmake / FindCommonAPI.cmake
1 #
2 # Copyright (C) 2012, BMW AG
3
4 # \author Christian Linke
5
6
7 include(UsePkgConfig)
8
9 pkg_check_modules(COMMON_API CommonAPI)
10
11 IF(COMMON_API_FOUND)    
12     
13     FIND_PATH(COMMON_API_INCLUDE_DIR
14               NAMES CommonAPI/Runtime.h CommonAPI/Proxy.h 
15               PATH_SUFFIXES CommonAPI-${COMMON_API_VERSION}      
16               PATHS
17               ${COMMON_API_INCLUDE_DIRS}        
18               "/usr/local/include"              
19               "/usr/include")
20
21     FIND_LIBRARY(COMMON_API_LIBRARY 
22                  NAMES CommonAPI
23                  PATHS
24                  "/usr/local/lib"
25                  "/usr/lib"
26                 )
27                  
28 ELSE(COMMON_API_FOUND)
29     
30     MESSAGE(STATUS "CommonAPI package not found, search directly, trying version 0.7 ...")
31
32       
33     FIND_PATH(COMMON_API_INCLUDE_DIR
34               NAMES CommonAPI/Runtime.h CommonAPI/Proxy.h 
35               PATH_SUFFIXES CommonAPI-0.7
36               PATHS
37               "/usr/local/include"              
38               "/usr/include"
39               )
40               
41     FIND_LIBRARY(COMMON_API_LIBRARY 
42              NAMES CommonAPI
43              PATHS
44              "/usr/local/lib"
45              "/usr/lib"
46              )
47               
48 ENDIF(COMMON_API_FOUND)
49
50 SET(COMMON_API_LIBRARIES ${COMMON_API_LIBRARY})
51
52 IF(COMMON_API_INCLUDE_DIR AND COMMON_API_LIBRARY)   
53    message(STATUS "Found CommonAPI")
54 ELSE(COMMON_API_LIBRARIES AND COMMON_API_LIBRARY)   
55    message(STATUS " CommonAPI not found.")
56 ENDIF(COMMON_API_INCLUDE_DIR AND COMMON_API_LIBRARY)
57
58 #searching for generated headers
59 FILE(GLOB_RECURSE COMMON_API_GEN_HEADER_DIRECTORIES "src-gen/*.h")
60 FOREACH(INCLUDE_ITER ${COMMON_API_GEN_HEADER_DIRECTORIES})
61    GET_FILENAME_COMPONENT(TEMP_PATH ${INCLUDE_ITER} PATH)
62    SET(COMMON_API_GEN_INCLUDE_DIR ${COMMON_API_GEN_INCLUDE_DIR} ${TEMP_PATH})
63 ENDFOREACH(INCLUDE_ITER ${COMMON_API_GEN_HEADER_DIRECTORIES})
64 LIST(REMOVE_DUPLICATES COMMON_API_GEN_INCLUDE_DIR)
65
66 #add base path src-gen
67 SET(COMMON_API_GEN_INCLUDE_DIR ${COMMON_API_GEN_INCLUDE_DIR} "src-gen/")
68
69 IF (COMMON_API_GEN_INCLUDE_DIR)
70     message(STATUS "Found generated headers !") 
71 ELSE (COMMON_API_GEN_INCLUDE_DIR)
72     message(STATUS "Did not find generated headers")
73 ENDIF(COMMON_API_GEN_INCLUDE_DIR)
74
75 #searching for generated sources
76 FILE(GLOB_RECURSE COMMON_API_GEN_SOURCES "src-gen/*.cpp")
77
78 IF (COMMON_API_GEN_SOURCES)
79     message(STATUS "Found generated sources !") 
80 ELSE (COMMON_API_GEN_SOURCES)
81     message(STATUS "Did not find generated sources !")
82 ENDIF(COMMON_API_GEN_SOURCES)
83                 
84 MARK_AS_ADVANCED(
85     COMMON_API_LIBRARIES 
86     COMMON_API_INCLUDE_DIR
87     COMMON_API_GEN_INCLUDE_DIR
88     COMMON_API_GEN_SOURCES
89 )