• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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