From fcbee1b981b9f53430f03d414f6e17d489453fe6 Mon Sep 17 00:00:00 2001 From: Mathieu Duponchelle Date: Tue, 25 Oct 2016 21:13:39 +0200 Subject: AudioManagerUtilities: use LINK_DIRECTORIES The -L flags were not retrieved from pkg_check_modules, except for automotive-dlt, where LDFLAGS was added to the LIBS variable, which was then passed to TARGET_LINK_LIBRARIES. This led to compile-time errors when compiling in a custom prefix. We also propagate the LIB_DIRECTORIES and use them in AmControlInterfaceTest and AudioManagerDaemon. --- AudioManagerCore/CMakeLists.txt | 6 +++++ .../test/AmControlInterfaceTest/CMakeLists.txt | 2 ++ AudioManagerDaemon/CMakeLists.txt | 2 ++ AudioManagerUtilities/CMakeLists.txt | 31 +++++++++++++++++++--- cmake/AudioManagerUtilitiesConfig.cmake.in | 1 + 5 files changed, 38 insertions(+), 4 deletions(-) diff --git a/AudioManagerCore/CMakeLists.txt b/AudioManagerCore/CMakeLists.txt index e47cb74..464a934 100644 --- a/AudioManagerCore/CMakeLists.txt +++ b/AudioManagerCore/CMakeLists.txt @@ -31,6 +31,10 @@ SET(AUDIO_MANAGER_CORE_LIBS AudioManagerUtilities CACHE INTERNAL "AUDIO_MANAGER_CORE_LIBS libs" FORCE) +SET(AUDIO_MANAGER_CORE_LIB_DIRECTORIES + ${AUDIOMANAGER_UTILITIES_LIB_DIRECTORIES} + CACHE INTERNAL "AUDIO_MANAGER_CORE_LIB_DIRECTORIES directories" FORCE) + IF (WITH_SHARED_CORE) SET(LIBRARY_TYPE SHARED) ELSE (WITH_SHARED_CORE) @@ -59,6 +63,8 @@ endif(WITH_TELNET) INCLUDE_DIRECTORIES(${AUDIOMANAGER_CORE_INCLUDE}) +LINK_DIRECTORIES(${AUDIO_MANAGER_CORE_LIB_DIRECTORIES}) + ADD_LIBRARY(AudioManagerCore ${LIBRARY_TYPE} ${AUDIOMAN_CORE_SRCS_CXX}) TARGET_LINK_LIBRARIES(AudioManagerCore ${AUDIO_MANAGER_CORE_LIBS} ) diff --git a/AudioManagerCore/test/AmControlInterfaceTest/CMakeLists.txt b/AudioManagerCore/test/AmControlInterfaceTest/CMakeLists.txt index 7660bbf..f2636a8 100644 --- a/AudioManagerCore/test/AmControlInterfaceTest/CMakeLists.txt +++ b/AudioManagerCore/test/AmControlInterfaceTest/CMakeLists.txt @@ -30,6 +30,8 @@ INCLUDE_DIRECTORIES( "*.cpp" ) +LINK_DIRECTORIES(${AUDIO_MANAGER_CORE_LIB_DIRECTORIES}) + add_executable(AmControlInterfaceTest ${CONTROL_INTERFACE_SRCS_CXX}) TARGET_LINK_LIBRARIES(AmControlInterfaceTest diff --git a/AudioManagerDaemon/CMakeLists.txt b/AudioManagerDaemon/CMakeLists.txt index 4399b05..9aa0754 100644 --- a/AudioManagerDaemon/CMakeLists.txt +++ b/AudioManagerDaemon/CMakeLists.txt @@ -33,6 +33,8 @@ INCLUDE_DIRECTORIES( ${TCLAP_INCLUDE_DIR} ) +LINK_DIRECTORIES(${AUDIO_MANAGER_CORE_LIB_DIRECTORIES}) + ADD_EXECUTABLE(AudioManager ${AUDIOMAN_SRCS_CXX}) TARGET_LINK_LIBRARIES(AudioManager AudioManagerCore ${AUDIO_MANAGER_CORE_LIBS}) diff --git a/AudioManagerUtilities/CMakeLists.txt b/AudioManagerUtilities/CMakeLists.txt index ea3f142..6e9a06f 100644 --- a/AudioManagerUtilities/CMakeLists.txt +++ b/AudioManagerUtilities/CMakeLists.txt @@ -23,6 +23,8 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") SET(AUDIOMANAGER_UTILITIES_EXTERNAL_INCLUDE "") +SET(AUDIOMANAGER_UTILITIES_EXTERNAL_LIB_DIRECTORIES "") + SET(AUDIO_MANAGER_UTILITIES_LIBS ${CMAKE_DL_LIBS} CACHE INTERNAL "AUDIO_MANAGER_UTILITIES_LIBS libs" FORCE) @@ -46,6 +48,9 @@ if(WITH_SYSTEMD_WATCHDOG) ${AUDIO_MANAGER_UTILITIES_LIBS} ${SYSTEMD_LIBRARIES} CACHE INTERNAL "AUDIO_MANAGER_UTILITIES_LIBS libs" FORCE) + set(AUDIOMANAGER_UTILITIES_EXTERNAL_LIB_DIRECTORIES + ${AUDIOMANAGER_UTILITIES_EXTERNAL_LIB_DIRECTORIES} + ${SYSTEMD_LIBRARY_DIRS}) set(AUDIOMANAGER_UTILITIES_EXTERNAL_INCLUDE ${AUDIOMANAGER_UTILITIES_EXTERNAL_INCLUDE} ${SYSTEMD_INCLUDEDIR}) @@ -67,6 +72,10 @@ IF (WITH_DBUS_WRAPPER) ${DBUS_LIBRARIES} CACHE INTERNAL "AUDIO_MANAGER_UTILITIES_LIBS libs" FORCE) + set(AUDIOMANAGER_UTILITIES_EXTERNAL_LIB_DIRECTORIES + ${AUDIOMANAGER_UTILITIES_EXTERNAL_LIB_DIRECTORIES} + ${DBUS_LIBRARY_DIRS}) + set(AUDIO_MANAGER_UTILITIES_SRCS_CXX ${AUDIO_MANAGER_UTILITIES_SRCS_CXX} src/CAmDbusWrapper.cpp) @@ -81,6 +90,11 @@ IF (WITH_CAPI_WRAPPER) ${COMMONAPI_DBUS_LIBRARIES} CACHE INTERNAL "AUDIO_MANAGER_UTILITIES_LIBS libs" FORCE) + set(AUDIOMANAGER_UTILITIES_EXTERNAL_LIB_DIRECTORIES + ${AUDIOMANAGER_UTILITIES_EXTERNAL_LIB_DIRECTORIES} + ${COMMONAPI_LIBRARY_DIRS} + ${COMMONAPI_DBUS_LIBRARY_DIRS}) + set(AUDIO_MANAGER_UTILITIES_SRCS_CXX ${AUDIO_MANAGER_UTILITIES_SRCS_CXX} src/CAmCommonAPIWrapper.cpp) @@ -90,20 +104,24 @@ IF (WITH_CAPI_WRAPPER) ${COMMONAPI_INCLUDE_DIRS}) ENDIF (WITH_CAPI_WRAPPER) -if(WITH_DLT) - pkg_check_modules(DLT REQUIRED "automotive-dlt >= 2.2.0") +IF (WITH_DLT) + pkg_check_modules(DLT REQUIRED "automotive-dlt >= 2.2.0") add_definitions(${DLT_CFLAGS_OTHER}) set(AUDIO_MANAGER_UTILITIES_LIBS ${AUDIO_MANAGER_UTILITIES_LIBS} - ${DLT_LDFLAGS} + ${DLT_LIBRARIES} CACHE INTERNAL "AUDIO_MANAGER_UTILITIES_LIBS libs" FORCE) + set(AUDIOMANAGER_UTILITIES_EXTERNAL_LIB_DIRECTORIES + ${AUDIOMANAGER_UTILITIES_EXTERNAL_LIB_DIRECTORIES} + ${DLT_LIBRARY_DIRS}) + SET(AUDIOMANAGER_UTILITIES_EXTERNAL_INCLUDE ${AUDIOMANAGER_UTILITIES_EXTERNAL_INCLUDE} ${DLT_INCLUDE_DIRS}) -endif(WITH_DLT) +endif (WITH_DLT) SET(AUDIOMANAGER_UTILITIES_INCLUDE ${AUDIOMANAGER_UTILITIES}/include @@ -113,9 +131,14 @@ SET(AUDIOMANAGER_UTILITIES_INCLUDE ${AUDIOMANAGER_UTILITIES_EXTERNAL_INCLUDE} CACHE INTERNAL "AUDIOMANAGER_INCLUDE directories" FORCE) +SET(AUDIOMANAGER_UTILITIES_LIB_DIRECTORIES + ${AUDIOMANAGER_UTILITIES_EXTERNAL_LIB_DIRECTORIES} + CACHE INTERNAL "AUDIOMANAGER_UTILITIES_LIB_DIRECTORIES directories" FORCE) INCLUDE_DIRECTORIES(${AUDIOMANAGER_UTILITIES_INCLUDE}) +LINK_DIRECTORIES(${AUDIOMANAGER_UTILITIES_LIB_DIRECTORIES}) + ADD_LIBRARY(AudioManagerUtilities ${LIBRARY_TYPE} ${AUDIO_MANAGER_UTILITIES_SRCS_CXX}) TARGET_LINK_LIBRARIES(AudioManagerUtilities ${AUDIO_MANAGER_UTILITIES_LIBS}) diff --git a/cmake/AudioManagerUtilitiesConfig.cmake.in b/cmake/AudioManagerUtilitiesConfig.cmake.in index 471ddd6..acca825 100644 --- a/cmake/AudioManagerUtilitiesConfig.cmake.in +++ b/cmake/AudioManagerUtilitiesConfig.cmake.in @@ -44,6 +44,7 @@ endif(WITH_DLT) set(AudioManagerUtilities_INCLUDE_DIRS ${AudioManagerUtilities_INCLUDE_DIRS} ${AUDIOMANAGER_UTILITIES_EXTERNAL_INCLUDE}) set(AudioManagerUtilities_LIBRARIES @AUDIO_MANAGER_UTILITIES_LIBS@ ${AudioManagerUtilities_LIBRARY}) +set(AudioManagerUtilities_LIB_DIRECTORIES @AUDIOMANAGER_UTILITIES_LIB_DIRECTORIES@) set(DAEMONVERSION "@DAEMONVERSION@") set(AUDIOMANAGER_CMAKE_CXX_FLAGS "@AUDIOMANAGER_CMAKE_CXX_FLAGS@") set(WITH_SHARED_UTILITIES "@WITH_SHARED_UTILITIES@") -- cgit v1.2.1