diff options
author | Christian Linke <Christian.Linke@bmw.de> | 2016-02-11 07:28:47 +0100 |
---|---|---|
committer | Christian Linke <Christian.Linke@bmw.de> | 2016-02-15 09:00:59 +0100 |
commit | 5bcd206b9270d9a79e212f91723ea1a08a4d4859 (patch) | |
tree | 55b0cd4d07fbd7ebfd15d58d02e9cae6ae61b127 /AudioManagerCore/CMakeLists.txt | |
parent | 59080ecc2c8840fd85c561adea3f85f5344534a8 (diff) | |
download | audiomanager-5bcd206b9270d9a79e212f91723ea1a08a4d4859.tar.gz |
* rework of the build structure, adopt to standard cmake package structure7.4
* check versions when loading the libs
* introduction of the AudioManagerCore
* give control plugin as file or directory
* remove SQLITE
* either find and use gmock or build and install it
* fixed [Bug 411]
* compile flag gnu11 is now used
Signed-off-by: Christian Linke <Christian.Linke@bmw.de>
Signed-off-by: Christian Linke <Christian.Linke@bmw.de>
Diffstat (limited to 'AudioManagerCore/CMakeLists.txt')
-rw-r--r-- | AudioManagerCore/CMakeLists.txt | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/AudioManagerCore/CMakeLists.txt b/AudioManagerCore/CMakeLists.txt new file mode 100644 index 0000000..2a553ba --- /dev/null +++ b/AudioManagerCore/CMakeLists.txt @@ -0,0 +1,109 @@ +# Copyright (C) 2012, BMW AG +# +# 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 Christian Linke, christian.linke@bmw.de BMW 2011,2012 +# +# For further information see http://www.genivi.org/. +# + +cmake_minimum_required(VERSION 3.0) + +project (AudioManagerCore LANGUAGES CXX VERSION ${DAEMONVERSION}) + +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") + +SET(AUDIOMANAGER_CORE_INCLUDE + ${AUDIOMANAGER_CORE}/include + ${AUDIOMANAGER_UTILITIES_INCLUDE} + CACHE INTERNAL "AUDIOMANAGER_CORE_INCLUDE directories" FORCE) + +SET(AUDIO_MANAGER_CORE_LIBS + ${AUDIO_MANAGER_UTILITIES_LIBS} + AudioManagerUtilities + CACHE INTERNAL "AUDIO_MANAGER_CORE_LIBS libs" FORCE) + +IF (WITH_SHARED_CORE) + SET(LIBRARY_TYPE SHARED) +ELSE (WITH_SHARED_CORE) + SET(LIBRARY_TYPE STATIC) +ENDIF (WITH_SHARED_CORE) + +set(AUDIOMAN_CORE_SRCS_CXX + src/CAmCommandReceiver.cpp + src/CAmCommandSender.cpp + src/CAmControlReceiver.cpp + src/CAmControlSender.cpp + src/CAmDatabaseObserver.cpp + src/CAmRoutingReceiver.cpp + src/CAmRoutingSender.cpp + src/CAmRouter.cpp + src/CAmLog.cpp + src/CAmDatabaseHandlerMap.cpp +) + +if(WITH_TELNET) + set (AUDIOMAN_CORE_SRCS_CXX + ${AUDIOMAN_CORE_SRCS_CXX} + src/CAmTelnetServer.cpp + src/CAmTelnetMenuHelper.cpp) +endif(WITH_TELNET) + +INCLUDE_DIRECTORIES(${AUDIOMANAGER_CORE_INCLUDE}) + +ADD_LIBRARY(AudioManagerCore ${LIBRARY_TYPE} ${AUDIOMAN_CORE_SRCS_CXX}) + +TARGET_LINK_LIBRARIES(AudioManagerCore ${AUDIO_MANAGER_CORE_LIBS} ) + +ADD_DEPENDENCIES(AudioManagerCore AudioManagerUtilities) + +set_target_properties(AudioManagerCore PROPERTIES VERSION ${AudioManagerCore_VERSION} SOVERSION ${AudioManagerCore_VERSION_MAJOR}) + + +IF (WITH_SHARED_CORE) + INSTALL(TARGETS AudioManagerCore + LIBRARY DESTINATION lib + PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ + COMPONENT bin) +ELSE (WITH_SHARED_CORE) + INSTALL(TARGETS AudioManagerCore + ARCHIVE DESTINATION lib + COMPONENT dev) +ENDIF (WITH_SHARED_CORE) + +configure_file( ${CMAKE_SOURCE_DIR}/cmake/audiomanagercore.pc.in ${CMAKE_BINARY_DIR}/audiomanagercore.pc @ONLY ) +install(FILES ${CMAKE_BINARY_DIR}/audiomanagercore.pc DESTINATION lib/pkgconfig COMPONENT devel) + +configure_package_config_file ( + ${CMAKE_SOURCE_DIR}/cmake/AudioManagerCoreConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/AudioManagerCoreConfig.cmake + INSTALL_DESTINATION lib/${LIB_INSTALL_SUFFIX}/cmake + PATH_VARS AUDIO_INCLUDE_FOLDER ) + +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/AudioManagerCoreConfigVersion.cmake + VERSION ${DAEMONVERSION} + COMPATIBILITY SameMajorVersion ) + +install( +FILES ${CMAKE_CURRENT_BINARY_DIR}/AudioManagerCoreConfig.cmake + ${CMAKE_CURRENT_BINARY_DIR}/AudioManagerCoreConfigVersion.cmake +DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/cmake/AudioManagerCore-${DAEMONVERSION}) + +INSTALL(DIRECTORY "${AUDIOMANAGER_CORE}/include/" + DESTINATION ${CMAKE_INSTALL_PREFIX}/include/${LIB_INSTALL_SUFFIX}/AudioManagerCore + COMPONENT dev) + +if(WITH_TESTS) + add_subdirectory (test) +endif(WITH_TESTS) + + + |