mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-27 23:15:18 +08:00
[libvpx] Add cmake config file (#11795)
* [libvpx] Add cmake config file This allows libvpx to be used with find_package(libvpx CONFIG REQUIRED) target_link_libraries(main PRIVATE libvpx::libvpx) Tested on all supported windows triplets. * [libvpx] Rename cmake config file to make clear it is unofficial * [libvpx] Add cmake config target guard * [libvpx] Update version
This commit is contained in:
parent
6b32f92067
commit
6e67cb1745
@ -1,5 +1,5 @@
|
||||
Source: libvpx
|
||||
Version: 1.8.1-4
|
||||
Version: 1.8.1-5
|
||||
Homepage: https://github.com/webmproject/libvpx
|
||||
Description: The reference software implementation for the video coding formats VP8 and VP9.
|
||||
Supports: !(uwp|arm|arm64)
|
||||
|
@ -212,5 +212,12 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
set(LIBVPX_CONFIG_DEBUG ON)
|
||||
else()
|
||||
set(LIBVPX_CONFIG_DEBUG OFF)
|
||||
endif()
|
||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/unofficial-libvpx-config.cmake.in ${CURRENT_PACKAGES_DIR}/share/unofficial-libvpx/unofficial-libvpx-config.cmake @ONLY)
|
||||
|
||||
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libvpx)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libvpx/LICENSE ${CURRENT_PACKAGES_DIR}/share/libvpx/copyright)
|
||||
|
49
ports/libvpx/unofficial-libvpx-config.cmake.in
Normal file
49
ports/libvpx/unofficial-libvpx-config.cmake.in
Normal file
@ -0,0 +1,49 @@
|
||||
if(NOT TARGET unofficial::libvpx::libvpx)
|
||||
# Compute the installation prefix relative to this file.
|
||||
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||
|
||||
# Add library target (note: vpx always has a static build in vcpkg).
|
||||
add_library(unofficial::libvpx::libvpx STATIC IMPORTED)
|
||||
|
||||
# Add interface include directories and link interface languages (applies to all configurations).
|
||||
set_target_properties(unofficial::libvpx::libvpx PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||
)
|
||||
list(APPEND _IMPORT_CHECK_FILES "${_IMPORT_PREFIX}/include/vpx/vpx_codec.h")
|
||||
|
||||
# Add release configuration properties.
|
||||
find_library(_LIBFILE_RELEASE NAMES vpx@LIBVPX_CRT_SUFFIX@ PATHS "${_IMPORT_PREFIX}/lib/" NO_DEFAULT_PATH)
|
||||
set_property(TARGET unofficial::libvpx::libvpx
|
||||
APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
||||
set_target_properties(unofficial::libvpx::libvpx PROPERTIES
|
||||
IMPORTED_LOCATION_RELEASE ${_LIBFILE_RELEASE})
|
||||
list(APPEND _IMPORT_CHECK_FILES ${_LIBFILE_RELEASE})
|
||||
unset(_LIBFILE_RELEASE CACHE)
|
||||
|
||||
# Add debug configuration properties.
|
||||
if(@LIBVPX_CONFIG_DEBUG@)
|
||||
find_library(_LIBFILE_DEBUG NAMES vpx@LIBVPX_CRT_SUFFIX@d PATHS "${_IMPORT_PREFIX}/debug/lib/" NO_DEFAULT_PATH)
|
||||
set_property(TARGET unofficial::libvpx::libvpx
|
||||
APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
|
||||
set_target_properties(unofficial::libvpx::libvpx PROPERTIES
|
||||
IMPORTED_LOCATION_DEBUG ${_LIBFILE_DEBUG})
|
||||
list(APPEND _IMPORT_CHECK_FILES ${_LIBFILE_DEBUG})
|
||||
unset(_LIBFILE_DEBUG CACHE)
|
||||
endif()
|
||||
|
||||
# Check header and library files are present.
|
||||
foreach(file ${_IMPORT_CHECK_FILES} )
|
||||
if(NOT EXISTS "${file}" )
|
||||
message(FATAL_ERROR "unofficial::libvpx::libvpx references the file
|
||||
\"${file}\"
|
||||
but this file does not exist. Possible reasons include:
|
||||
* The file was deleted, renamed, or moved to another location.
|
||||
* An install or uninstall procedure did not complete successfully.
|
||||
")
|
||||
endif()
|
||||
endforeach()
|
||||
unset(_IMPORT_CHECK_FILES)
|
||||
endif()
|
Loading…
Reference in New Issue
Block a user