d3b6026bfd
- Filled empty libs/hbb_common/ submodule (cloned from rustdesk/hbb_common) - Patched Flutter 3.44 / Dart 3.12 compatibility: * flutter/lib/generated_bridge.dart: asTypedList with cast<>, DartPort=Int64 * flutter/lib/common.dart: DialogTheme->DialogThemeData, TabBarTheme->TabBarThemeData * flutter/pubspec.yaml: extended_text 14.0.0->15.0.2, google_fonts override 5.0.0 * flutter/macos/Runner/Configs/Release.xcconfig: EXCLUDED_ARCHS=x86_64 - Build verified: cargo check + cargo build --features flutter + cargo build --release --features flutter - Verified flutter build macos --debug and --release both produce working .app - Verified .dmg installer (27MB arm64) created via hdiutil - Build deps: Xcode 26.5, CocoaPods 1.16.2, Flutter 3.44, VCPKG arm64-osx
76 lines
2.4 KiB
Diff
76 lines
2.4 KiB
Diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 18190f647..f4b1b359d 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -23,6 +23,9 @@ endif()
|
|
|
|
project(AOM C CXX)
|
|
|
|
+include(GNUInstallDirs)
|
|
+include(CMakePackageConfigHelpers)
|
|
+
|
|
# GENERATED source property global visibility.
|
|
if(POLICY CMP0118)
|
|
cmake_policy(SET CMP0118 NEW)
|
|
@@ -302,6 +305,52 @@ if(BUILD_SHARED_LIBS)
|
|
set(AOM_LIB_TARGETS ${AOM_LIB_TARGETS} aom_static)
|
|
endif()
|
|
|
|
+set(PUBLIC_HEADERS
|
|
+ aom/aom.h
|
|
+ aom/aom_codec.h
|
|
+ aom/aom_decoder.h
|
|
+ aom/aom_encoder.h
|
|
+ aom/aom_frame_buffer.h
|
|
+ aom/aom_image.h
|
|
+ aom/aom_integer.h
|
|
+ aom/aomcx.h
|
|
+ aom/aomdx.h
|
|
+)
|
|
+
|
|
+set_target_properties(aom PROPERTIES
|
|
+ PUBLIC_HEADER "${PUBLIC_HEADERS}")
|
|
+
|
|
+
|
|
+target_include_directories(aom
|
|
+ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
|
+ $<INSTALL_INTERFACE:include>)
|
|
+
|
|
+install(TARGETS aom
|
|
+ EXPORT unofficial-aom-targets
|
|
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
|
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
|
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
|
+ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aom")
|
|
+
|
|
+install(EXPORT unofficial-aom-targets
|
|
+ FILE unofficial-aom-targets.cmake
|
|
+ NAMESPACE unofficial::
|
|
+ DESTINATION lib/cmake/aom)
|
|
+
|
|
+configure_package_config_file(cmake/aom-config.cmake.in
|
|
+ ${CMAKE_CURRENT_BINARY_DIR}/aom-config.cmake
|
|
+ INSTALL_DESTINATION lib/cmake/aom
|
|
+ NO_SET_AND_CHECK_MACRO
|
|
+ NO_CHECK_REQUIRED_COMPONENTS_MACRO)
|
|
+
|
|
+write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/aom-config-version.cmake
|
|
+ VERSION ${SO_FILE_VERSION}
|
|
+ COMPATIBILITY SameMajorVersion)
|
|
+
|
|
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/aom-config.cmake
|
|
+ ${CMAKE_CURRENT_BINARY_DIR}/aom-config-version.cmake
|
|
+ DESTINATION lib/cmake/aom)
|
|
+
|
|
# Setup dependencies.
|
|
if(CONFIG_THREE_PASS)
|
|
setup_ivf_dec_targets()
|
|
diff --git a/cmake/aom-config.cmake.in b/cmake/aom-config.cmake.in
|
|
new file mode 100644
|
|
index 000000000..91cac3b5b
|
|
--- /dev/null
|
|
+++ b/cmake/aom-config.cmake.in
|
|
@@ -0,0 +1,2 @@
|
|
+@PACKAGE_INIT@
|
|
+include(${CMAKE_CURRENT_LIST_DIR}/unofficial-aom-targets.cmake)
|