diff --git a/CMakeLists.txt b/CMakeLists.txt index 03e73dd..01d3fdc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,6 +33,7 @@ find_package(Qt5 COMPONENTS Multimedia MultimediaWidgets Bluetooth) find_package(Protobuf REQUIRED) find_package(OpenSSL REQUIRED) find_package(rtaudio REQUIRED) +find_package(aasdk REQUIRED) if(WIN32) set(WINSOCK2_LIBRARIES "ws2_32") @@ -56,8 +57,6 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR} ${PROTOBUF_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${RTAUDIO_INCLUDE_DIRS} - ${AASDK_PROTO_INCLUDE_DIRS} - ${AASDK_INCLUDE_DIRS} ${BCM_HOST_INCLUDE_DIRS} ${ILCLIENT_INCLUDE_DIRS} ${include_directory}) @@ -72,11 +71,7 @@ file(GLOB_RECURSE autoapp_source_files ${autoapp_sources_directory}/*.ui ${autoa add_executable(autoapp ${autoapp_source_files}) -file(GLOB_RECURSE autoapp_lib_source_files ${autoapp_sources_directory}/App.cpp ${autoapp_sources_directory}/Configuration/*.cpp ${autoapp_sources_directory}/Projection/*.cpp ${autoapp_sources_directory}/Service/*.cpp) -file(GLOB_RECURSE autoapp_lib_inlcude_files ${autoapp_include_directory}/App.hpp ${autoapp_include_directory}/Configuration/*.hpp ${autoapp_include_directory}/Projection/*.hpp ${autoapp_include_directory}/Service/*.hpp) -add_library(auto SHARED ${autoapp_lib_source_files} ${autoapp_lib_inlcude_files}) - -target_link_libraries(autoapp +target_link_libraries(autoapp aasdk ${Boost_LIBRARIES} ${Qt5Multimedia_LIBRARIES} ${Qt5MultimediaWidgets_LIBRARIES} @@ -87,8 +82,7 @@ target_link_libraries(autoapp ${ILCLIENT_LIBRARIES} ${WINSOCK2_LIBRARIES} ${RTAUDIO_LIBRARIES} - ${AASDK_PROTO_LIBRARIES} - ${AASDK_LIBRARIES}) + ) set(btservice_sources_directory ${sources_directory}/btservice) set(btservice_include_directory ${include_directory}/f1x/openauto/btservice) @@ -101,4 +95,4 @@ target_link_libraries(btservice ${Qt5Bluetooth_LIBRARIES} ${Qt5MultimediaWidgets_LIBRARIES} ${PROTOBUF_LIBRARIES} - ${AASDK_PROTO_LIBRARIES}) +) diff --git a/cmake_modules/Findaasdk.cmake b/cmake_modules/Findaasdk.cmake new file mode 100644 index 0000000..d1c7fec --- /dev/null +++ b/cmake_modules/Findaasdk.cmake @@ -0,0 +1,44 @@ +set (AASDK_DIR ~/aasdk) + +find_path(AASDK_INCLUDE_DIR + f1x/aasdk/Version.hpp + PATHS ${AASDK_DIR} + PATH_SUFFIXES include +) + +find_path(AASDK_PROTO_INCLUDE_DIR + aasdk_proto/AbsoluteInputEventData.pb.h + PATHS ${AASDK_DIR} +) + +find_path(AASDK_LIB_DIR + libaasdk.so + PATHS ${AASDK_DIR} + PATH_SUFFIXES lib +) + +if (AASDK_INCLUDE_DIR AND AASDK_PROTO_INCLUDE_DIR AND AASDK_LIB_DIR) + set(AASDK_FOUND TRUE) +endif() + +if (AASDK_FOUND) + if (NOT aasdk_FIND_QUIETLY) + message(STATUS "Found aasdk:") + message(STATUS " - Includes: ${AASDK_INCLUDE_DIR}") + message(STATUS " - Libraries: ${AASDK_LIBRARIES}") + endif() + add_library(aasdk INTERFACE) + target_include_directories(aasdk INTERFACE ${AASDK_INCLUDE_DIR} ${AASDK_PROTO_INCLUDE_DIR}) + target_link_libraries(aasdk INTERFACE ${AASDK_LIB_DIR}/libaasdk.so ${AASDK_LIB_DIR}/libaasdk_proto.so) +else() + if (aasdk_FIND_REQUIRED) + if(AASDK_INCLUDE_DIR AND NOT AASDK_PROTO_INCLUDE_DIR) + message(FATAL_ERROR "aasdk was found but not built. Perform an in-source build.") + else() + message(FATAL_ERROR "Could not find aasdk") + endif() + endif() +endif() + +mark_as_advanced(AASDK_INCLUDE_DIRS AASDK_LIBRARIES) +