Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37727419
en ru br
ALT Linux repos
S:0.0.1874-alt1

Group :: Development/C
RPM: libyuv

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: libyuv-alt-buildfix.patch
Download


Author: Vitaly Lipatov <lav@altlinux.ru>
Date:   Sun Jul 4 21:13:40 2021 +0300
    fix build
diff --git a/libyuv/libyuv.pc.in b/libyuv/libyuv.pc.in
new file mode 100644
index 0000000..b3a9284
--- /dev/null
+++ b/libyuv/libyuv.pc.in
@@ -0,0 +1,4 @@
+Name: libyuv
+Description: YUV conversion and scaling functionality library
+Version: @YUV_VERSION@
+Libs: -lyuv
diff --git a/libyuv/CMakeLists.txt b/libyuv/CMakeLists.txt
index 6f37294..c1f609d 100644
--- a/libyuv/CMakeLists.txt
+++ b/libyuv/CMakeLists.txt
@@ -1,11 +1,25 @@
 # CMakeLists for libyuv
 # Originally created for "roxlu build system" to compile libyuv on windows
-# Run with -DTEST=ON to build unit tests
+# Run with -DUNIT_TEST=ON to build unit tests
 
 PROJECT ( YUV C CXX )	# "C" is required even for C++ projects
-CMAKE_MINIMUM_REQUIRED( VERSION 2.8.12 )
+CMAKE_MINIMUM_REQUIRED( VERSION 2.9 )
 OPTION( UNIT_TEST "Built unit tests" OFF )
 
+include(GNUInstallDirs)
+
+EXECUTE_PROCESS (
+	COMMAND grep --perl-regex --only-matching "(?<=LIBYUV_VERSION )[0-9]+" include/libyuv/version.h
+	WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+	OUTPUT_VARIABLE YUV_VERSION_NUMBER
+	OUTPUT_STRIP_TRAILING_WHITESPACE )
+SET ( YUV_VER_MAJOR 0 )
+SET ( YUV_VER_MINOR 0 )
+SET ( YUV_VER_PATCH ${YUV_VERSION_NUMBER} )
+SET ( YUV_VERSION ${YUV_VER_MAJOR}.${YUV_VER_MINOR}.${YUV_VER_PATCH} )
+MESSAGE ( "Building ver.: ${YUV_VERSION}" )
+
+
 SET ( ly_base_dir	${PROJECT_SOURCE_DIR} )
 SET ( ly_src_dir	${ly_base_dir}/source )
 SET ( ly_inc_dir	${ly_base_dir}/include )
@@ -43,13 +57,22 @@ if(WIN32)
   SET_TARGET_PROPERTIES	( ${ly_lib_shared} PROPERTIES IMPORT_PREFIX "lib" )
 endif()
 
+SET_TARGET_PROPERTIES(
+    ${ly_lib_shared}
+  PROPERTIES
+    VERSION ${YUV_VERSION}
+    SOVERSION 0
+)
+
+#set(CMAKE_SKIP_BUILD_RPATH TRUE)
+
 # this creates the conversion tool
 ADD_EXECUTABLE			( yuvconvert ${ly_base_dir}/util/yuvconvert.cc )
-TARGET_LINK_LIBRARIES	( yuvconvert ${ly_lib_static} )
+TARGET_LINK_LIBRARIES	( yuvconvert ${ly_lib_shared} )
 
 # this creates the yuvconstants tool
 ADD_EXECUTABLE      ( yuvconstants ${ly_base_dir}/util/yuvconstants.c )
-TARGET_LINK_LIBRARIES  ( yuvconstants ${ly_lib_static} )
+TARGET_LINK_LIBRARIES  ( yuvconstants ${ly_lib_shared} -lm )
 
 find_package ( JPEG )
 if (JPEG_FOUND)
@@ -98,13 +121,15 @@ if(UNIT_TEST)
   endif()
 endif()
 
+CONFIGURE_FILE("${ly_base_dir}/libyuv.pc.in" "${ly_base_dir}/libyuv.pc" @ONLY)
 
 # 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 ( TARGETS ${ly_lib_shared} LIBRARY				DESTINATION ${CMAKE_INSTALL_LIBDIR} )
 INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR}/include/		DESTINATION include )
+INSTALL(FILES "${ly_base_dir}/libyuv.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
 
 # create the .deb and .rpm packages using cpack
-INCLUDE ( CM_linux_packages.cmake )
+#INCLUDE ( CM_linux_packages.cmake )
 
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin