From 5f8335c1e49ce108ef3481863833c98efa00411b Mon Sep 17 00:00:00 2001 From: manuel Date: Thu, 2 Jul 2020 23:09:26 +0200 Subject: sync with upstream --- cmake/modules/FindDav1d.cmake | 82 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 cmake/modules/FindDav1d.cmake (limited to 'cmake/modules/FindDav1d.cmake') diff --git a/cmake/modules/FindDav1d.cmake b/cmake/modules/FindDav1d.cmake new file mode 100644 index 0000000..7625afa --- /dev/null +++ b/cmake/modules/FindDav1d.cmake @@ -0,0 +1,82 @@ +#.rst: +# FindDav1d +# -------- +# Finds the dav1d library +# +# This will define the following variables:: +# +# DAV1D_FOUND - system has dav1d +# DAV1D_INCLUDE_DIRS - the dav1d include directories +# DAV1D_LIBRARIES - the dav1d libraries + +if(PKG_CONFIG_FOUND) + pkg_check_modules(PC_DAV1D dav1d QUIET) +endif() + +find_library(DAV1D_LIBRARY NAMES dav1d libdav1d + PATHS ${PC_DAV1D_LIBDIR}) + +find_path(DAV1D_INCLUDE_DIR NAMES dav1d/dav1d.h + PATHS ${PC_DAV1D_INCLUDEDIR}) + +set(DAV1D_VERSION ${PC_DAV1D_VERSION}) + +if(ENABLE_INTERNAL_DAV1D) + include(ExternalProject) + + # Extract version + file(STRINGS ${CMAKE_SOURCE_DIR}/tools/depends/target/dav1d/DAV1D-VERSION VER) + + string(REGEX MATCH "VERSION=[^ ]*$.*" DAV1D_VER "${VER}") + list(GET DAV1D_VER 0 DAV1D_VER) + string(SUBSTRING "${DAV1D_VER}" 8 -1 DAV1D_VER) + + # allow user to override the download URL with a local tarball + # needed for offline build envs + if(DAV1D_URL) + get_filename_component(DAV1D_URL "${DAV1D_URL}" ABSOLUTE) + else() + set(DAV1D_URL http://mirrors.kodi.tv/build-deps/sources/dav1d-${DAV1D_VER}.tar.gz) + endif() + + if(VERBOSE) + message(STATUS "DAV1D_URL: ${DAV1D_URL}") + endif() + + set(DAV1D_LIBRARY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/libdav1d.a) + set(DAV1D_INCLUDE_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include) + set(DAV1D_VERSION ${DAV1D_VER}) + + externalproject_add(dav1d + URL ${DAV1D_URL} + DOWNLOAD_NAME dav1d-${DAV1D_VER}.tar.gz + DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/download + PREFIX ${CORE_BUILD_DIR}/dav1d + CONFIGURE_COMMAND meson + --buildtype=release + --default-library=static + --prefix=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} + --libdir=lib + -Denable_asm=true + -Denable_tools=false + -Denable_examples=false + -Denable_tests=false + ../dav1d + BUILD_COMMAND ninja + INSTALL_COMMAND ninja install + BUILD_BYPRODUCTS ${DAV1D_LIBRARY}) + + set_target_properties(dav1d PROPERTIES FOLDER "External Projects") +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Dav1d + REQUIRED_VARS DAV1D_LIBRARY DAV1D_INCLUDE_DIR + VERSION_VAR DAV1D_VERSION) + +if(DAV1D_FOUND) + set(DAV1D_INCLUDE_DIRS ${DAV1D_INCLUDE_DIR}) + set(DAV1D_LIBRARIES ${DAV1D_LIBRARY}) +endif() + +mark_as_advanced(DAV1D_INCLUDE_DIR DAV1D_LIBRARY) -- cgit v1.2.3