summaryrefslogtreecommitdiffstats
path: root/third_party/aom/build/cmake/dist.cmake
blob: 5b9fc95d418a7fee456aca00cb698781bffb255a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#
# Copyright (c) 2017, Alliance for Open Media. All rights reserved
#
# This source code is subject to the terms of the BSD 2 Clause License and the
# Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License was
# not distributed with this source code in the LICENSE file, you can obtain it
# at www.aomedia.org/license/software. If the Alliance for Open Media Patent
# License 1.0 was not distributed with this source code in the PATENTS file, you
# can obtain it at www.aomedia.org/license/patent.
#
cmake_minimum_required(VERSION 3.5)

# Converts spaces in $in_string to semicolons and writes the output to
# $out_string. In CMake's eyes this converts the input string to a list.
function(listify_string in_string out_string)
  string(REPLACE " " ";" ${out_string} ${in_string})
  set(${out_string} "${${out_string}}" PARENT_SCOPE)
endfunction()

set(REQUIRED_ARGS "AOM_ROOT" "AOM_CONFIG_DIR" "AOM_DIST_DIR" "AOM_DIST_INCLUDES"
                  "AOM_DIST_LIBS" "ENABLE_DOCS")

foreach(arg ${REQUIRED_ARGS})
  if("${${arg}}" STREQUAL "")
    message(FATAL_ERROR "${arg} must not be empty.")
  endif()
endforeach()

if(ENABLE_DOCS)
  file(INSTALL "${AOM_CONFIG_DIR}/docs" DESTINATION "${AOM_DIST_DIR}")
endif()

if(AOM_DIST_EXAMPLES)
  listify_string("${AOM_DIST_EXAMPLES}" "AOM_DIST_EXAMPLES")
  foreach(example ${AOM_DIST_EXAMPLES})
    if(NOT "${example}" MATCHES "aomdec\|aomenc")
      file(INSTALL "${example}" DESTINATION "${AOM_DIST_DIR}/bin/examples")
    endif()
  endforeach()
endif()

if(AOM_DIST_TOOLS)
  listify_string("${AOM_DIST_TOOLS}" "AOM_DIST_TOOLS")
  foreach(tool ${AOM_DIST_TOOLS})
    file(INSTALL "${tool}" DESTINATION "${AOM_DIST_DIR}/bin/tools")
  endforeach()
endif()

if(AOM_DIST_APPS)
  listify_string("${AOM_DIST_APPS}" "AOM_DIST_APPS")
  foreach(app ${AOM_DIST_APPS})
    file(INSTALL "${app}" DESTINATION "${AOM_DIST_DIR}/bin")
  endforeach()
endif()

listify_string("${AOM_DIST_INCLUDES}" "AOM_DIST_INCLUDES")
foreach(inc ${AOM_DIST_INCLUDES})
  file(INSTALL "${inc}" DESTINATION "${AOM_DIST_DIR}/include/aom")
endforeach()

listify_string("${AOM_DIST_LIBS}" "AOM_DIST_LIBS")
foreach(lib ${AOM_DIST_LIBS})
  file(INSTALL "${lib}" DESTINATION "${AOM_DIST_DIR}/lib")
endforeach()