summaryrefslogtreecommitdiff
path: root/AudioManagerUtilities/CMakeLists.txt
blob: 69555faa6237a2c1f19c14fea7062e3b1690c1f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# Copyright (C) 2015, ADIT GmbH
#
# This file is part of GENIVI Project AudioManager.
#
# Contributions are licensed to the GENIVI Alliance under one or more
# Contribution License Agreements.
#
# copyright
# This Source Code Form is subject to the terms of the
# Mozilla Public License, v. 2.0. if a  copy of the MPL was not distributed with
# this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# author Jens Lorenz, jens.lorenz@de.adit-jv.com ADIT,2015
#
# For further information see http://www.genivi.org/.
#

CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8)

PROJECT(AudioManagerUtilities)

set(AudioManagerUtilities_VERSION_MAJOR 1)
set(AudioManagerUtilities_VERSION_MINOR 0)
set(AudioManagerUtilities_VERSION_PATCH 0)
set(AudioManagerUtilities_VERSION_STRING ${AudioManagerUtilities_VERSION_MAJOR}.${AudioManagerUtilities_VERSION_MINOR}.${AudioManagerUtilities_VERSION_PATCH})

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
SET(INCLUDE_FOLDER "include")

INCLUDE_DIRECTORIES(
	${INCLUDE_FOLDER}
	${AUDIO_INCLUDE_FOLDER}
	${AUDIOMANAGER_INCLUDE_FOLDER}
	${DBUS_INCLUDE_DIRS}
	${TCLAP_INCLUDE_DIR}
)

IF (WITH_SHARED_UTILITIES)
    SET(LIBRARY_TYPE SHARED)
ELSE (WITH_SHARED_UTILITIES)
    SET(LIBRARY_TYPE STATIC)
ENDIF (WITH_SHARED_UTILITIES)

SET(AUDIO_MANAGER_UTILITIES_SRCS_CXX
	src/CAmCommandLineSingleton.cpp
	src/CAmDltWrapper.cpp
	src/CAmSocketHandler.cpp)
	
if(WITH_SYSTEMD_WATCHDOG)
	
	pkg_check_modules(SYSTEMD libsystemd>=44)
	if (SYSTEMD_FOUND)
		message(STATUS "Found libsystemd-daemon, version: ${SYSTEMD_VERSION}")
	else (SYSTEMD_FOUND)
		message(STATUS "Did not find libsystemd-daemon, using own lib")
	endif(SYSTEMD_FOUND)
	
	set (AUDIO_MANAGER_UTILITIES_SRCS_CXX
		${AUDIO_MANAGER_UTILITIES_SRCS_CXX}
		src/CAmWatchdog.cpp)
    set (AM_LINK_LIBS
        ${AM_LINK_LIBS}
        ${SYSTEMD_LIBRARIES})
endif(WITH_SYSTEMD_WATCHDOG)	
	

if (NOT SYSTEMD_FOUND)
	set (AUDIO_MANAGER_UTILITIES_SRCS_CXX
		${AUDIO_MANAGER_UTILITIES_SRCS_CXX}
		src/sd-daemon.c)
endif (NOT SYSTEMD_FOUND)
	

IF (WITH_DBUS_WRAPPER)
	pkg_check_modules (DBUS "dbus-1 >= 1.4")
ENDIF (WITH_DBUS_WRAPPER)

IF (WITH_CAPI_WRAPPER)
    FIND_PACKAGE(CommonAPI REQUIRED)
ENDIF (WITH_CAPI_WRAPPER)

IF (WITH_DBUS_WRAPPER)
    SET (AM_LINK_LIBS
        ${AM_LINK_LIBS}
        ${DBUS_LIBRARIES})
	SET(AUDIO_MANAGER_UTILITIES_SRCS_CXX
		${AUDIO_MANAGER_UTILITIES_SRCS_CXX}
		src/CAmDbusWrapper.cpp)
ENDIF (WITH_DBUS_WRAPPER)

IF (WITH_CAPI_WRAPPER)
    SET(AM_LINK_LIBS
        ${AM_LINK_LIBS}
        ${DBUS_LIBRARIES}
        ${COMMON_API_LIBRARIES}
        ${COMMON_API_DBUS_LIBRARIES})
	SET(AUDIO_MANAGER_UTILITIES_SRCS_CXX
		${AUDIO_MANAGER_UTILITIES_SRCS_CXX}
		src/CAmCommonAPIWrapper.cpp)
    INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
        ${COMMONAPI_INCLUDE_DIRS})
ENDIF (WITH_CAPI_WRAPPER)

ADD_LIBRARY(AudioManagerUtilities ${LIBRARY_TYPE} ${AUDIO_MANAGER_UTILITIES_SRCS_CXX})

TARGET_LINK_LIBRARIES(AudioManagerUtilities ${AM_LINK_LIBS})

set_target_properties(AudioManagerUtilities PROPERTIES VERSION ${AudioManagerUtilities_VERSION_STRING} SOVERSION ${AudioManagerUtilities_VERSION_MAJOR})

IF (WITH_SHARED_UTILITIES)
	INSTALL(TARGETS AudioManagerUtilities
	        LIBRARY DESTINATION lib
	        PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
	        COMPONENT bin)
	configure_file( ${CMAKE_SOURCE_DIR}/cmake/audiomanagerutilities.pc.in ${CMAKE_BINARY_DIR}/audiomanagerutilities.pc @ONLY )       
	install(FILES ${CMAKE_BINARY_DIR}/audiomanagerutilities.pc DESTINATION lib/pkgconfig COMPONENT devel) 
ELSE (WITH_SHARED_UTILITIES)
	INSTALL(TARGETS AudioManagerUtilities
	        ARCHIVE DESTINATION lib
	        COMPONENT dev)
ENDIF (WITH_SHARED_UTILITIES)

INSTALL(DIRECTORY "${AUDIOMANAGER_UTILITIES_INCLUDE}/"
        DESTINATION ${CMAKE_INSTALL_PREFIX}/include/${LIB_INSTALL_SUFFIX}
        COMPONENT dev)