ilmClient: generate & install pkg-config file for ilmClient
[profile/ivi/layer-management.git] / LayerManagerClient / ilmClient / CMakeLists.txt
1 ############################################################################
2
3 # Copyright 2010-2012 BMW Car IT GmbH
4
5
6 # Licensed under the Apache License, Version 2.0 (the "License"); 
7 # you may not use this file except in compliance with the License. 
8 # You may obtain a copy of the License at 
9 #
10 #               http://www.apache.org/licenses/LICENSE-2.0 
11 #
12 # Unless required by applicable law or agreed to in writing, software 
13 # distributed under the License is distributed on an "AS IS" BASIS, 
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
15 # See the License for the specific language governing permissions and 
16 # limitations under the License.
17 #
18 ############################################################################
19
20 cmake_minimum_required (VERSION 2.6)
21
22 project(ilmClient)
23 project_type(CORE)
24
25 find_package(Threads)
26
27 include_directories(
28     "include"
29     "${CMAKE_SOURCE_DIR}/config"
30     "${CMAKE_SOURCE_DIR}/LayerManagerClient/ilmCommon/include"
31     "${CMAKE_SOURCE_DIR}/LayerManagerBase/include"
32     "${CMAKE_SOURCE_DIR}/LayerManagerUtils/include"
33 )
34
35 add_library(${PROJECT_NAME} SHARED
36     src/ilm_client.c
37 )
38
39 set_target_properties(${PROJECT_NAME} PROPERTIES
40     RESOURCE "${CMAKE_BINARY_DIR}/LayerManagerClient/ilmClient/ilm.pc")
41
42 add_dependencies(${PROJECT_NAME}
43     LayerManagerUtils
44     ilmCommon
45 )
46
47 set(LIBS
48     ${LIBS}
49     LayerManagerUtils
50     ilmCommon
51     rt
52     dl
53     ${CMAKE_THREAD_LIBS_INIT}
54 )
55
56 target_link_libraries(${PROJECT_NAME} ${LIBS})
57
58 configure_file(ilm.pc.in ilm.pc @ONLY)
59
60 if(NOT PKG_CONFIG_INSTALL_LIBDIR)
61     include(FindPkgConfig)
62     execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=pc_path pkg-config OUTPUT_VARIABLE PC_PATHS)
63     string(REPLACE ":" ";" PC_PATHS ${PC_PATHS})
64     list(GET PC_PATHS 0 PKG_CONFIG_INSTALL_LIBDIR)
65 endif(NOT PKG_CONFIG_INSTALL_LIBDIR)
66
67 install (
68     TARGETS             ${PROJECT_NAME}
69     LIBRARY DESTINATION lib
70     RESOURCE DESTINATION ${PKG_CONFIG_INSTALL_LIBDIR}
71 )
72
73 install (
74     FILES       include/ilm_client.h
75     DESTINATION include/ilm
76 )
77