blob: 590f1171db78e12f8ac3d72eadf8849bfb6fcaea [file] [log] [blame]
Neelkamal Semwal21da5652022-02-10 16:06:28 +05301cmake_minimum_required(VERSION 3.9.1)
2project(libhevc C CXX)
3enable_language(ASM)
Harish Mahendrakar7508e0f2019-08-15 17:33:18 -07004
5set(HEVC_ROOT "${CMAKE_CURRENT_SOURCE_DIR}")
6set(HEVC_CONFIG_DIR "${CMAKE_CURRENT_BINARY_DIR}")
7
8if("${HEVC_ROOT}" STREQUAL "${HEVC_CONFIG_DIR}")
Harish Mahendrakar7483c9c2019-08-20 15:18:27 -07009 message(
10 FATAL_ERROR
11 "Building from within the libhevc source tree is not supported.\n"
12 "Hint: Run these commands\n"
13 "$ rm -rf CMakeCache.txt CMakeFiles\n"
14 "$ mkdir -p ./build\n"
15 "$ cd ./build\n"
16 "And re-run CMake from the build directory.")
Harish Mahendrakar7508e0f2019-08-15 17:33:18 -070017endif()
18
Neelkamal Semwal21da5652022-02-10 16:06:28 +053019set(THREADS_PREFER_PTHREAD_FLAG TRUE)
Harish Mahendrakar7508e0f2019-08-15 17:33:18 -070020find_package(Threads REQUIRED)
Neelkamal Semwal21da5652022-02-10 16:06:28 +053021
Harish Mahendrakar7508e0f2019-08-15 17:33:18 -070022set(CMAKE_STATIC_LIBRARY_PREFIX "")
23
Neelkamal Semwal21da5652022-02-10 16:06:28 +053024if(${CMAKE_CROSSCOMPILING})
25 set(THREADS_PTHREAD_ARG
26 "2"
27 CACHE STRING
28 "Refer https://gitlab.kitware.com/cmake/cmake/-/issues/16920" FORCE)
Harish Mahendrakar7508e0f2019-08-15 17:33:18 -070029endif()
30
Neelkamal Semwal21da5652022-02-10 16:06:28 +053031include("${HEVC_ROOT}/cmake/utils.cmake")
Harish Mahendrakar7508e0f2019-08-15 17:33:18 -070032
Neelkamal Semwal21da5652022-02-10 16:06:28 +053033libhevc_add_compile_options()
34libhevc_add_definitions()
35libhevc_set_link_libraries()
Harish Mahendrakar7508e0f2019-08-15 17:33:18 -070036
Neelkamal Semwal21da5652022-02-10 16:06:28 +053037include("${HEVC_ROOT}/common/common.cmake")
38include("${HEVC_ROOT}/decoder/libhevcdec.cmake")
39include("${HEVC_ROOT}/encoder/libhevcenc.cmake")
Harish Mahendrakar7508e0f2019-08-15 17:33:18 -070040
Neelkamal Semwal21da5652022-02-10 16:06:28 +053041include("${HEVC_ROOT}/test/decoder/hevcdec.cmake")
42include("${HEVC_ROOT}/test/encoder/hevcenc.cmake")
Harish Mahendrakar7508e0f2019-08-15 17:33:18 -070043
Neelkamal Semwal21da5652022-02-10 16:06:28 +053044include("${HEVC_ROOT}/fuzzer/hevc_dec_fuzzer.cmake")
45include("${HEVC_ROOT}/fuzzer/hevc_enc_fuzzer.cmake")