1cmake_minimum_required(VERSION 3.9.1) 2project(libavc C CXX) 3enable_language(ASM) 4 5set(AVC_ROOT "${CMAKE_CURRENT_SOURCE_DIR}") 6set(AVC_CONFIG_DIR "${CMAKE_CURRENT_BINARY_DIR}") 7option(ENABLE_MVC "Enables svcenc and svcdec builds" OFF) 8option(ENABLE_SVC "Enables svcenc and svcdec builds" OFF) 9 10if("${AVC_ROOT}" STREQUAL "${AVC_CONFIG_DIR}") 11 message( 12 FATAL_ERROR 13 "Building from within the libavc source tree is not supported.\n" 14 "Hint: Run these commands\n" 15 "$ rm -rf CMakeCache.txt CMakeFiles\n" 16 "$ mkdir -p ./build\n" 17 "$ cd ./build\n" 18 "And re-run CMake from the build directory.") 19endif() 20 21set(THREADS_PREFER_PTHREAD_FLAG TRUE) 22find_package(Threads REQUIRED) 23 24set(CMAKE_STATIC_LIBRARY_PREFIX "") 25 26if(${CMAKE_CROSSCOMPILING}) 27 set(THREADS_PTHREAD_ARG 28 "2" 29 CACHE STRING 30 "Refer https://gitlab.kitware.com/cmake/cmake/-/issues/16920" FORCE) 31endif() 32 33include("${AVC_ROOT}/cmake/utils.cmake") 34 35libavc_add_compile_options() 36libavc_add_definitions() 37libavc_set_link_libraries() 38 39include("${AVC_ROOT}/common/common.cmake") 40include("${AVC_ROOT}/decoder/libavcdec.cmake") 41if (${ENABLE_MVC}) 42 include("${AVC_ROOT}/decoder/mvc/libmvcdec.cmake") 43endif() 44include("${AVC_ROOT}/encoder/libavcenc.cmake") 45if (${ENABLE_SVC}) 46 include("${AVC_ROOT}/common/svccommon.cmake") 47 include("${AVC_ROOT}/encoder/svc/libsvcenc.cmake") 48 include("${AVC_ROOT}/decoder/svc/libsvcdec.cmake") 49endif() 50 51include("${AVC_ROOT}/test/decoder/avcdec.cmake") 52if (${ENABLE_MVC}) 53 include("${AVC_ROOT}/test/mvcdec/mvcdec.cmake") 54endif() 55include("${AVC_ROOT}/test/encoder/avcenc.cmake") 56if (${ENABLE_SVC}) 57 include("${AVC_ROOT}/test/svcenc/svcenc.cmake") 58 include("${AVC_ROOT}/test/svcdec/svcdec.cmake") 59endif() 60 61include("${AVC_ROOT}/fuzzer/avc_dec_fuzzer.cmake") 62if (${ENABLE_MVC}) 63 include("${AVC_ROOT}/fuzzer/mvc_dec_fuzzer.cmake") 64endif() 65include("${AVC_ROOT}/fuzzer/avc_enc_fuzzer.cmake") 66if (${ENABLE_SVC}) 67 include("${AVC_ROOT}/fuzzer/svc_enc_fuzzer.cmake") 68 include("${AVC_ROOT}/fuzzer/svc_dec_fuzzer.cmake") 69endif() 70