tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

pkg_config.cmake (2845B)


      1 #
      2 # Copyright (c) 2017, Alliance for Open Media. All rights reserved.
      3 #
      4 # This source code is subject to the terms of the BSD 2 Clause License and the
      5 # Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License was
      6 # not distributed with this source code in the LICENSE file, you can obtain it
      7 # at www.aomedia.org/license/software. If the Alliance for Open Media Patent
      8 # License 1.0 was not distributed with this source code in the PATENTS file, you
      9 # can obtain it at www.aomedia.org/license/patent.
     10 #
     11 cmake_minimum_required(VERSION 3.16)
     12 
     13 set(REQUIRED_ARGS "AOM_ROOT" "AOM_CONFIG_DIR" "CMAKE_INSTALL_PREFIX"
     14                  "CMAKE_INSTALL_BINDIR" "CMAKE_INSTALL_INCLUDEDIR"
     15                  "CMAKE_INSTALL_LIBDIR" "CMAKE_PROJECT_NAME"
     16                  "CONFIG_MULTITHREAD")
     17 
     18 foreach(arg ${REQUIRED_ARGS})
     19  if("${${arg}}" STREQUAL "")
     20    message(FATAL_ERROR "${arg} must not be empty.")
     21  endif()
     22 endforeach()
     23 
     24 include("${AOM_ROOT}/build/cmake/util.cmake")
     25 
     26 extract_version_string("${AOM_CONFIG_DIR}/config/aom_version.h" aom_version)
     27 
     28 # Create a version string suitable for comparison using the RPM version compare
     29 # algorithm: strip out everything after the number.
     30 string(FIND "${aom_version}" "-" dash_pos)
     31 if(${dash_pos} EQUAL -1)
     32  set(package_version "${aom_version}")
     33 else()
     34  string(SUBSTRING "${aom_version}" 0 ${dash_pos} package_version)
     35 endif()
     36 
     37 # Write pkg-config info.
     38 set(prefix "${CMAKE_INSTALL_PREFIX}")
     39 set(bindir "${CMAKE_INSTALL_BINDIR}")
     40 set(includedir "${CMAKE_INSTALL_INCLUDEDIR}")
     41 set(libdir "${CMAKE_INSTALL_LIBDIR}")
     42 set(pkgconfig_file "${AOM_CONFIG_DIR}/aom.pc")
     43 string(TOLOWER ${CMAKE_PROJECT_NAME} pkg_name)
     44 file(WRITE "${pkgconfig_file}" "# libaom pkg-config.\n")
     45 file(APPEND "${pkgconfig_file}" "prefix=${prefix}\n")
     46 file(APPEND "${pkgconfig_file}" "exec_prefix=\${prefix}\n")
     47 file(APPEND "${pkgconfig_file}" "includedir=\${prefix}/${includedir}\n")
     48 file(APPEND "${pkgconfig_file}" "libdir=\${exec_prefix}/${libdir}\n\n")
     49 file(APPEND "${pkgconfig_file}" "Name: ${pkg_name}\n")
     50 file(
     51  APPEND "${pkgconfig_file}"
     52  "Description: Alliance for Open Media AV1 codec library v${aom_version}.\n")
     53 file(APPEND "${pkgconfig_file}" "Version: ${package_version}\n")
     54 file(APPEND "${pkgconfig_file}" "Requires:")
     55 if(CONFIG_TUNE_VMAF)
     56  file(APPEND "${pkgconfig_file}" " libvmaf")
     57 endif()
     58 if(CONFIG_TUNE_BUTTERAUGLI)
     59  file(APPEND "${pkgconfig_file}" " libjxl")
     60 endif()
     61 file(APPEND "${pkgconfig_file}" "\nConflicts:\n")
     62 file(APPEND "${pkgconfig_file}" "Libs: -L\${libdir} -l${pkg_name}\n")
     63 file(APPEND "${pkgconfig_file}" "Libs.private:")
     64 if(NOT WIN32 AND NOT APPLE)
     65  file(APPEND "${pkgconfig_file}" " -lm")
     66 endif()
     67 if(CONFIG_MULTITHREAD AND CMAKE_THREAD_LIBS_INIT)
     68  file(APPEND "${pkgconfig_file}" " ${CMAKE_THREAD_LIBS_INIT}")
     69 endif()
     70 file(APPEND "${pkgconfig_file}" "\nCflags: -I\${includedir}\n")