mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-02-10 02:11:44 +01:00
57 lines
2.1 KiB
Diff
57 lines
2.1 KiB
Diff
From: Jakub Jirutka <jakub@jirutka.cz>
|
|
Date: Fri, 23 Jan 2026 17:36:34 +0100
|
|
Subject: [PATCH] Allow static library to be packaged separately
|
|
|
|
Exporting aom_static unconditionally causes find_package(AOM CONFIG) to
|
|
fail when only the shared library is installed. Split the static target
|
|
into an optional export so the CMake package remains valid.
|
|
|
|
--- a/build/cmake/aom_install.cmake
|
|
+++ b/build/cmake/aom_install.cmake
|
|
@@ -78,11 +78,7 @@
|
|
endif()
|
|
endif()
|
|
|
|
- if(BUILD_SHARED_LIBS)
|
|
- set(AOM_INSTALL_LIBS aom aom_static)
|
|
- else()
|
|
- set(AOM_INSTALL_LIBS aom)
|
|
- endif()
|
|
+ set(AOM_INSTALL_LIBS aom) # XXX₋Patched
|
|
|
|
set(AOM_GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated")
|
|
set(AOM_VERSION_CONFIG
|
|
@@ -121,5 +117,18 @@
|
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
|
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
|
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
|
+
|
|
+ # XXX-Patched: When building shared libs, export static archive separately.
|
|
+ # This lets distributors split libaom.a into a separate package without
|
|
+ # breaking find_package(AOM CONFIG) for consumers who only want shared.
|
|
+ if(BUILD_SHARED_LIBS)
|
|
+ set(AOM_STATIC_TARGETS_EXPORT_NAME "${PROJECT_NAME}StaticTargets")
|
|
+ install(TARGETS aom_static
|
|
+ EXPORT "${AOM_STATIC_TARGETS_EXPORT_NAME}"
|
|
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
|
+ install(EXPORT "${AOM_STATIC_TARGETS_EXPORT_NAME}"
|
|
+ NAMESPACE "${PROJECT_NAME}::"
|
|
+ DESTINATION "${AOM_CONFIG_INSTALL_DIR}")
|
|
+ endif()
|
|
endif()
|
|
endmacro()
|
|
--- a/build/cmake/config.cmake.in
|
|
+++ b/build/cmake/config.cmake.in
|
|
@@ -8,6 +8,11 @@
|
|
|
|
include("${CMAKE_CURRENT_LIST_DIR}/@AOM_TARGETS_EXPORT_NAME@.cmake")
|
|
|
|
+# XXX-Patched: Optional static targets may be shipped separately (-static package).
|
|
+if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@StaticTargets.cmake")
|
|
+ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@StaticTargets.cmake")
|
|
+endif()
|
|
+
|
|
set_and_check(@PROJECT_NAME@_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
|
|
|
|
# @PROJECT_NAME@::aom_static is defined only if BUILD_SHARED_LIBS=1 when libaom
|