Open ganadist opened 1 year ago
Interested in packaging this for MSYS2, but have a question:
The archive created is libultrahdr.a
, but the pkgconf file is libuhdr.pc
. What should be the package called then? Can these two be synced to either name please?
E.g. although the project name is highway, the majority of distros package it as libhwy as both the .a and .pc have that name.
@kmilos this may not be completely true, with this pull request all the names are in sync https://github.com/google/libultrahdr/pull/96
@ram-mohan Thanks Ram, that's great, at least the .pc and .a are in sync now, which is the main thing.
Shared library should be versioned and install with appropriate symlinks for -dev
package. See https://www.debian.org/doc/debian-policy/ch-sharedlibs#s-sharedlibs-runtime
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1827267..892b83d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -567,7 +567,7 @@ set(UHDR_TARGET_NAME uhdr)
add_library(${UHDR_TARGET_NAME})
add_dependencies(${UHDR_TARGET_NAME} ${UHDR_CORE_LIB_NAME})
target_link_libraries(${UHDR_TARGET_NAME} PRIVATE ${JPEG_LIBRARIES})
-set_target_properties(${UHDR_TARGET_NAME} PROPERTIES PUBLIC_HEADER ultrahdr_api.h)
+set_target_properties(${UHDR_TARGET_NAME} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR} PUBLIC_HEADER ultrahdr_api.h)
combine_static_libs(${UHDR_CORE_LIB_NAME} ${UHDR_TARGET_NAME})
if(UHDR_ENABLE_INSTALL)
.
├── include
│ └── ultrahdr_api.h
└── lib
├── libuhdr.so -> libuhdr.so.1
├── libuhdr.so.1 -> libuhdr.so.1.0
├── libuhdr.so.1.0
└── pkgconfig
└── libuhdr.pc
Also need to install appropriate static library.
Starting to trickle in 😉
Hello.
I'm considering to use this library on our media server implementation.
In my case, I'm using RHEL(Redhat Enterprise Linux)7 compliant distribution (CentOS 7)
In the case of the Linux operating environment, if EOL remains, there is a high tendency not to change the operating environment.
Currently, libultrahdr requires (or recommends)
For RHEL7, It seems Redhat provides Clang 15 for their service subscribers. But for CentOS7, it provides Clang 7 by SCL Also CentOS7 provides CMake 3.6.1 by SCL
So libultrahdr is hard to use with CentOS7 by toolchain requirements even if they are supported by upstream(RHEL7).
Providing prebuilt binaries for popular Linux distributions would make it easier to adapt this library and help spread the
Ultra HDR
format.