diff --git a/cmake/AvTranscoderConfig.cmake.in b/cmake/AvTranscoderConfig.cmake.in new file mode 100644 index 00000000..9f860f6e --- /dev/null +++ b/cmake/AvTranscoderConfig.cmake.in @@ -0,0 +1,14 @@ +set(AvTranscoder_VERSION_MAJOR @AVTRANSCODER_VERSION_MAJOR@) +set(AvTranscoder_VERSION_MINOR @AVTRANSCODER_VERSION_MINOR@) +set(AvTranscoder_VERSION_PATCH @AVTRANSCODER_VERSION_MICRO@) +set(AvTranscoder_VERSION @AVTRANSCODER_VERSION_MAJOR@.@AVTRANSCODER_VERSION_MINOR@.@AVTRANSCODER_VERSION_MICRO@) +set(AvTranscoder_VERSION_STRING "@AVTRANSCODER_VERSION_MAJOR@.@AVTRANSCODER_VERSION_MINOR@.@AVTRANSCODER_VERSION_MICRO@") + +set(AvTranscoder_INSTALL_DIR "@CMAKE_INSTALL_PREFIX@") + +set(AvTranscoder_LIB_DIR "@CMAKE_INSTALL_PREFIX@/lib") +set(AvTranscoder_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include") +set(AvTranscoder_CMAKE_MODULES_DIR "@CMAKE_INSTALL_PREFIX@/lib/cmake/AvTranscoder") +list(APPEND CMAKE_MODULE_PATH "${AvTranscoder_CMAKE_MODULES_DIR}") + +find_library(AvTranscoder_LIBRARIES avtranscoder PATHS "${AvTranscoder_LIB_DIR}" NO_DEFAULT_PATH) diff --git a/cmake/FindAvTranscoder.cmake b/cmake/FindAvTranscoder.cmake new file mode 100644 index 00000000..22cdd96b --- /dev/null +++ b/cmake/FindAvTranscoder.cmake @@ -0,0 +1,17 @@ +# AvTranscoder_FOUND +# AvTranscoder_INCLUDE_DIR +# AvTranscoder_LIBRARIES +# AvTranscoder_DEFINITIONS +# AvTranscoder_VERSION_MAJOR +# AvTranscoder_VERSION_MINOR +# AvTranscoder_VERSION_PATCH +# AvTranscoder_VERSION +# AvTranscoder_VERSION_STRING +# AvTranscoder_INSTALL_DIR +# AvTranscoder_LIB_DIR +# AvTranscoder_CMAKE_MODULES_DIR + +find_package(AvTranscoder ${AvTranscoder_FIND_VERSION} QUIET NO_MODULE PATHS $ENV{HOME} /opt/AvTranscoder) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(AvTranscoder CONFIG_MODE REQUIRED_VARS AvTranscoder_LIBRARIES) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 201608ba..b9776da3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,6 +5,10 @@ include(AvTranscoderMacros) # AvTranscoder versions message(STATUS "AvTranscoder version is ${AVTRANSCODER_VERSION}") +# Create a CMake package definition +configure_file(${PROJECT_SOURCE_DIR}/cmake/AvTranscoderConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/cmake/AvTranscoderConfig.cmake @ONLY) + # Find package ffmpeg/libav find_package(FFmpeg COMPONENTS avcodec avformat avutil swscale avfilter swresample avresample) if(swresample_FOUND) @@ -60,6 +64,13 @@ install( PATTERN "*.prf" ) +### Install AvTranscoder CMake modules +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/cmake/AvTranscoderConfig.cmake + ${PROJECT_SOURCE_DIR}/cmake/FindAvTranscoder.cmake + DESTINATION "share/cmake/AvTranscoder" +) + ### Bindings with SWIG if(AVTRANSCODER_DISABLE_BINDINGS) message("Bindings disabled, will not build bindings.")