aboutsummaryrefslogtreecommitdiff
path: root/project
diff options
context:
space:
mode:
authorwsnipex <wsnipex@a1.net>2016-12-13 10:19:30 +0100
committerwsnipex <wsnipex@a1.net>2016-12-13 10:49:50 +0100
commit19e6fb0522d817449bf8a97caaa3461efe257101 (patch)
treed75ba30c201f152e2ab7d980f5fa5eacdc01dcf7 /project
parentba6db75e6bc4641dd4595c45e909282f5ac8e309 (diff)
[cmake] update and fix FindMMAL
Diffstat (limited to 'project')
-rw-r--r--project/cmake/modules/FindMMAL.cmake59
1 files changed, 39 insertions, 20 deletions
diff --git a/project/cmake/modules/FindMMAL.cmake b/project/cmake/modules/FindMMAL.cmake
index 8843983680..0b5f5564ec 100644
--- a/project/cmake/modules/FindMMAL.cmake
+++ b/project/cmake/modules/FindMMAL.cmake
@@ -6,31 +6,50 @@
# MMAL_LIBRARIES - The MMAL libraries
if(PKG_CONFIG_FOUND)
- pkg_check_modules(MMAL mmal QUIET)
+ pkg_check_modules(PC_MMAL mmal QUIET)
endif()
-if(NOT MMAL_FOUND)
- find_path(MMAL_INCLUDE_DIRS interface/mmal/mmal.h)
- find_library(MMAL_LIBRARY mmal)
- find_library(MMALCORE_LIBRARY mmal_core)
- find_library(MMALUTIL_LIBRARY mmal_util)
- find_library(MMALCLIENT_LIBRARY mmal_vc_client)
- find_library(MMALCOMPONENT_LIBRARY mmal_components)
- find_library(BCM_LIBRARY bcm_host)
- find_library(VCHIQ_LIBRARY vchiq_arm)
- find_library(VCOS_LIBRARY vcos)
- find_library(VCSM_LIBRARY vcsm)
- find_library(CONTAINER_LIBRARY containers)
+find_path(MMAL_INCLUDE_DIR NAMES interface/mmal/mmal.h PATHS ${PC_MMAL_INCLUDEDIR})
+find_library(MMAL_LIBRARY NAMES mmal libmmal PATHS ${PC_MMAL_LIBDIR})
+find_library(MMALCORE_LIBRARY NAMES mmal_core libmmal_core PATHS ${PC_MMAL_LIBDIR})
+find_library(MMALUTIL_LIBRARY NAMES mmal_util libmmal_util PATHS ${PC_MMAL_LIBDIR})
+find_library(MMALCLIENT_LIBRARY NAMES mmal_vc_client libmmal_vc_client PATHS ${PC_MMAL_LIBDIR})
+find_library(MMALCOMPONENT_LIBRARY NAMES mmal_components libmmal_components PATHS ${PC_MMAL_LIBDIR})
+find_library(BCM_LIBRARY NAMES bcm_host libbcm_host PATHS ${PC_MMAL_LIBDIR})
+find_library(VCHIQ_LIBRARY NAMES vchiq_arm libvchiq_arm PATHS ${PC_MMAL_LIBDIR})
+find_library(VCHOSTIF_LIBRARY NAMES vchostif libvchostif PATHS ${PC_MMAL_LIBDIR})
+find_library(VCILCS_LIBRARY NAMES vcilcs libvcilcs PATHS ${PC_MMAL_LIBDIR})
+find_library(VCOS_LIBRARY NAMES vcos libvcos PATHS ${PC_MMAL_LIBDIR})
+find_library(VCSM_LIBRARY NAMES vcsm libvcsm PATHS ${PC_MMAL_LIBDIR})
+find_library(CONTAINER_LIBRARY NAMES containers libcontainers PATHS ${PC_MMAL_LIBDIR})
+
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MMAL REQUIRED_VARS MMAL_INCLUDE_DIR
+ MMAL_LIBRARY MMALCORE_LIBRARY MMALUTIL_LIBRARY
+ MMALCLIENT_LIBRARY MMALCOMPONENT_LIBRARY BCM_LIBRARY
+ VCHIQ_LIBRARY VCOS_LIBRARY VCSM_LIBRARY VCHOSTIF_LIBRARY
+ VCILCS_LIBRARY CONTAINER_LIBRARY)
+
+
+if(MMAL_FOUND)
+ set(MMAL_INCLUDE_DIRS ${MMAL_INCLUDE_DIR})
set(MMAL_LIBRARIES ${MMAL_LIBRARY} ${MMALCORE_LIBRARY} ${MMALUTIL_LIBRARY}
${MMALCLIENT_LIBRARY} ${MMALCOMPONENT_LIBRARY}
- ${BCM_LIBRARY} ${VCHIQ_LIBRARY} ${VCOS_LIBRARY} ${VCSM_LIBRARY} ${CONTAINER_LIBRARY}
+ ${BCM_LIBRARY} ${VCHIQ_LIBRARY} ${VCOS_LIBRARY} ${VCSM_LIBRARY}
+ ${VCHOSTIF_LIBRARY} ${VCILCS_LIBRARY} ${CONTAINER_LIBRARY}
CACHE STRING "mmal libraries" FORCE)
-endif()
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(MMAL DEFAULT_MSG MMAL_LIBRARIES MMAL_INCLUDE_DIRS)
+ list(APPEND MMAL_DEFINITIONS -DHAVE_MMAL=1 -DHAS_MMAL=1)
-list(APPEND MMAL_DEFINITIONS -DHAVE_MMAL=1 -DHAS_MMAL=1)
+ if(NOT TARGET MMAL::MMAL)
+ add_library(MMAL::MMAL UNKNOWN IMPORTED)
+ set_target_properties(MMAL::MMAL PROPERTIES
+ IMPORTED_LOCATION "${MMAL_LIBRARIES}"
+ INTERFACE_INCLUDE_DIRECTORIES "${MMAL_INCLUDE_DIR}")
+ endif()
+endif()
-mark_as_advanced(MMAL_INCLUDE_DIRS MMAL_LIBRARIES MMAL_DEFINITIONS)
+mark_as_advanced(MMAL_INCLUDE_DIRS MMAL_LIBRARIES MMAL_DEFINITIONS
+ MMAL_LIBRARY MMALCORE_LIBRARY MMALUTIL_LIBRARY MMALCLIENT_LIBRARY MMALCOMPONENT_LIBRARY BCM_LIBRARY
+ VCHIQ_LIBRARY VCOS_LIBRARY VCSM_LIBRARY VCHOSTIF_LIBRARY VCILCS_LIBRARY CONTAINER_LIBRARY)