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)
|