Add OMX as a module

This commit is contained in:
Jason C. Wenger 2020-05-10 12:04:43 -10:00
parent df63241827
commit 16cec35bdd
2 changed files with 75 additions and 12 deletions

View File

@ -41,19 +41,12 @@ find_package(OpenSSL REQUIRED)
find_package(rtaudio REQUIRED)
find_package(aasdk REQUIRED)
find_package(ZLIB REQUIRED)
find_package(libomx)
if(WIN32)
set(WINSOCK2_LIBRARIES "ws2_32")
endif(WIN32)
if(RPI_BUILD)
add_definitions(-DUSE_OMX -DOMX_SKIP64BIT)
set(BCM_HOST_LIBRARIES "/opt/vc/lib/libbcm_host.so")
set(BCM_HOST_INCLUDE_DIRS "/opt/vc/include")
set(ILCLIENT_INCLUDE_DIRS "/opt/vc/src/hello_pi/libs/ilclient")
set(ILCLIENT_LIBRARIES "/opt/vc/src/hello_pi/libs/ilclient/libilclient.a;/opt/vc/lib/libvcos.so;/opt/vc/lib/libvcilcs.a;/opt/vc/lib/libvchiq_arm.so")
endif(RPI_BUILD)
include_directories(${CMAKE_CURRENT_BINARY_DIR}
${Qt5Multimedia_INCLUDE_DIRS}
${Qt5MultimediaWidgets_INCLUDE_DIRS}
@ -63,8 +56,6 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}
${PROTOBUF_INCLUDE_DIR}
${OPENSSL_INCLUDE_DIR}
${RTAUDIO_INCLUDE_DIRS}
${BCM_HOST_INCLUDE_DIRS}
${ILCLIENT_INCLUDE_DIRS}
${include_directory})
link_directories(${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
@ -84,12 +75,14 @@ target_link_libraries(autoapp aasdk libusb
${Qt5Bluetooth_LIBRARIES}
${PROTOBUF_LIBRARIES}
${ZLIB_LIBRARIES}
${BCM_HOST_LIBRARIES}
${ILCLIENT_LIBRARIES}
${WINSOCK2_LIBRARIES}
${RTAUDIO_LIBRARIES}
)
if(libomx_FOUND)
target_link_libraries(autoapp omx)
endif()
set(btservice_sources_directory ${sources_directory}/btservice)
set(btservice_include_directory ${include_directory}/f1x/openauto/btservice)
file(GLOB_RECURSE btservice_source_files ${btservice_sources_directory}/*.cpp ${btservice_include_directory}/*.hpp ${common_include_directory}/*.hpp)

View File

@ -0,0 +1,70 @@
set (OMX_DIR /opt/vc/)
find_path(BCM_HOST_INCLUDE_DIR
bcm_host.h
PATHS
${OMX_DIR}
PATH_SUFFIXES
include
)
find_path(BCM_HOST_LIB_DIR
libbcm_host.so
PATHS
${OMX_DIR}
PATH_SUFFIXES
lib
)
find_path(ILCLIENT_INCLUDE_DIR
ilclient.h
PATHS
${OMX_DIR}
PATH_SUFFIXES
src/hello_pi/libs/ilclient
)
find_path(ILCLIENT_LIB_DIR
libilclient.a
PATHS
${OMX_DIR}
PATH_SUFFIXES
src/hello_pi/libs/ilclient
)
if (BCM_HOST_INCLUDE_DIR AND ILCLIENT_INCLUDE_DIR AND BCM_HOST_LIB_DIR AND ILCLIENT_LIB_DIR)
set(libomx_FOUND TRUE)
endif()
if (libomx_FOUND)
if (NOT libomx_FIND_QUIETLY)
message(STATUS "Found omx:")
message(STATUS " - Bcm Host: ${BCM_HOST_INCLUDE_DIR}")
message(STATUS " - ilclient: ${ILCLIENT_INCLUDE_DIR}")
endif()
add_library(omx INTERFACE)
target_include_directories(omx SYSTEM INTERFACE
${BCM_HOST_INCLUDE_DIR}
${ILCLIENT_INCLUDE_DIR}
)
target_link_libraries(omx INTERFACE
${BCM_HOST_LIB_DIR}/libbcm_host.so
${ILCLIENT_LIB_DIR}/libilclient.a
${BCM_HOST_LIB_DIR}/libvcos.so
${BCM_HOST_LIB_DIR}/libvcilcs.a
${BCM_HOST_LIB_DIR}/libvchiq_arm.so
)
target_compile_definitions(omx INTERFACE
-DUSE_OMX
-DOMX_SKIP64BIT
-DRASPBERRYPI3
)
endif()