Created
December 20, 2022 06:19
-
-
Save slimsag/a213374a5ef44194175aa6ae9ae55c5f to your computer and use it in GitHub Desktop.
vcpkg libyuv arm64 patch
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
diff --git a/CMakeLists.txt b/CMakeLists.txt | |
index ed4948f..5b4e112 100644 | |
--- a/CMakeLists.txt | |
+++ b/CMakeLists.txt | |
@@ -2,10 +3,15 @@ | |
# Originally created for "roxlu build system" to compile libyuv on windows | |
# Run with -DTEST=ON to build unit tests | |
-PROJECT ( YUV C CXX ) # "C" is required even for C++ projects | |
CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) | |
+CMAKE_POLICY( SET CMP0022 NEW ) | |
+ | |
+PROJECT ( YUV C CXX ) # "C" is required even for C++ projects | |
+add_compile_definitions(LIBYUV_DISABLE_NEON) | |
OPTION( TEST "Built unit tests" OFF ) | |
+SET( CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON ) | |
+ | |
SET ( ly_base_dir ${PROJECT_SOURCE_DIR} ) | |
SET ( ly_src_dir ${ly_base_dir}/source ) | |
SET ( ly_inc_dir ${ly_base_dir}/include ) | |
@@ -14,6 +18,7 @@ SET ( ly_lib_name yuv ) | |
SET ( ly_lib_static ${ly_lib_name} ) | |
SET ( ly_lib_shared ${ly_lib_name}_shared ) | |
+FILE ( GLOB_RECURSE ly_include_files ${ly_inc_dir}/libyuv/*.h ) | |
FILE ( GLOB_RECURSE ly_source_files ${ly_src_dir}/*.cc ) | |
LIST ( SORT ly_source_files ) | |
@@ -24,6 +29,7 @@ INCLUDE_DIRECTORIES( BEFORE ${ly_inc_dir} ) | |
# this creates the static library (.a) | |
ADD_LIBRARY ( ${ly_lib_static} STATIC ${ly_source_files} ) | |
+SET_TARGET_PROPERTIES( ${ly_lib_static} PROPERTIES PUBLIC_HEADER include/libyuv.h ) | |
# this creates the shared library (.so) | |
ADD_LIBRARY ( ${ly_lib_shared} SHARED ${ly_source_files} ) | |
@@ -38,6 +44,7 @@ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) | |
INCLUDE ( FindJPEG ) | |
if (JPEG_FOUND) | |
include_directories( ${JPEG_INCLUDE_DIR} ) | |
+ target_link_libraries( ${ly_lib_shared} PUBLIC ${JPEG_LIBRARY} ) | |
target_link_libraries( yuvconvert ${JPEG_LIBRARY} ) | |
add_definitions( -DHAVE_JPEG ) | |
endif() | |
@@ -81,10 +88,12 @@ endif() | |
# install the conversion tool, .so, .a, and all the header files | |
-INSTALL ( PROGRAMS ${CMAKE_BINARY_DIR}/yuvconvert DESTINATION bin ) | |
-INSTALL ( TARGETS ${ly_lib_static} DESTINATION lib ) | |
-INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) | |
-INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include ) | |
+INSTALL ( TARGETS yuvconvert DESTINATION bin ) | |
+INSTALL ( FILES ${ly_include_files} DESTINATION include/libyuv ) | |
+INSTALL ( TARGETS ${ly_lib_static} EXPORT libyuv-targets DESTINATION lib INCLUDES DESTINATION include PUBLIC_HEADER DESTINATION include ) | |
+INSTALL ( TARGETS ${ly_lib_shared} EXPORT libyuv-targets LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) | |
+ | |
+INSTALL( EXPORT libyuv-targets DESTINATION share/cmake/libyuv/ EXPORT_LINK_INTERFACE_LIBRARIES ) | |
# create the .deb and .rpm packages using cpack | |
INCLUDE ( CM_linux_packages.cmake ) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment