find aasdk as a module

This commit is contained in:
Jason C. Wenger 2020-05-10 12:12:06 -10:00
parent 5df4b957a1
commit 38b95057e9
2 changed files with 48 additions and 10 deletions

View File

@ -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})
)

View File

@ -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)