cmake: Move hevcdec specific macros to its cmake file

Also in encoder define PROFILE_ENABLE only when not defined

This is need to fix multiple definitions error when building
libhevc using cmake.

Bug: 241484499
Test: Build with cmake

Change-Id: I122b3db8f57604df3a8655ad1b75562fd71cd909
3 files changed
tree: f5fbaccf854c4ebcbc38b0efcfb973ce99d34e28
  1. cmake/
  2. common/
  3. decoder/
  4. encoder/
  5. fuzzer/
  6. test/
  7. Android.bp
  8. CMakeLists.txt
  9. libhevc_blocklist.txt
  10. METADATA
  11. MODULE_LICENSE_APACHE2
  12. NOTICE
  13. OWNERS
  14. PREUPLOAD.cfg
  15. README.md
README.md

LIBHEVC

Getting Started Document

LibHEVC build steps

Supports:

  • aarch32/aarch64 on Linux.
  • aarch32/aarch64 on Android.
  • x86_32/x86_64 on Linux.

Native Builds

Use the following commands for building on the target machine

$ cd external/libhevc
$ mkdir build
$ cd build
$ cmake ..
$ make

Cross-compiler based builds

Building for x86_32 on a x86_64 Linux machine

$ cd external/libhevc
$ mkdir build
$ cd build
$ CFLAGS="-m32" CXXFLAGS="-m32" LDFLAGS="-m32" cmake ..
$ make

Building for aarch32/aarch64

Update ‘CMAKE_C_COMPILER’, ‘CMAKE_CXX_COMPILER’, ‘CMAKE_C_COMPILER_AR’, and ‘CMAKE_CXX_COMPILER_AR’ in CMAKE_TOOLCHAIN_FILE passed below

$ cd external/libhevc
$ mkdir build
$ cd build

For aarch64

$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake
$ make

For aarch32

$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake
$ make