-
Notifications
You must be signed in to change notification settings - Fork 6.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[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
- Loading branch information
1 parent
6b32f92
commit 6e67cb1
Showing
3 changed files
with
57 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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() |