mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-06 15:27:30 +09:00
Update aom to commit id e87fb2378f01103d5d6e477a4ef6892dc714e614
This commit is contained in:
parent
debbee1e2a
commit
992c6637e3
429 changed files with 76047 additions and 40937 deletions
|
|
@ -10,6 +10,4 @@
|
|||
*/
|
||||
#include "aom/aom_codec.h"
|
||||
static const char* const cfg = "${AOM_CMAKE_CONFIG}";
|
||||
static const char* const aom_git_hash = "${AOM_GIT_HASH}";
|
||||
const char *aom_codec_build_config(void) {return cfg;}
|
||||
const char *aom_codec_git_hash(void) {return aom_git_hash;}
|
||||
|
|
|
|||
|
|
@ -8,170 +8,208 @@
|
|||
## 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.
|
||||
##
|
||||
|
||||
# Defaults for every libaom configuration variable. Here we add all libaom
|
||||
# config variables to the cmake variable cache, but omit the FORCE parameter to
|
||||
# allow users to specify values when executing cmake to generate build files.
|
||||
# Values here are used only if not set by the user.
|
||||
set(RESTRICT "" CACHE STRING "Sets RESTRICT value for current target.")
|
||||
set(INLINE "" CACHE STRING "Sets INLINE value for current target.")
|
||||
set(RESTRICT "" CACHE STRING "Sets RESTRICT value for current target.")
|
||||
|
||||
# CPUs.
|
||||
set(ARCH_ARM 0 CACHE NUMBER "Enables ARM architecture.")
|
||||
set(ARCH_MIPS 0 CACHE NUMBER "Enables MIPS architecture.")
|
||||
set(ARCH_X86 0 CACHE NUMBER "Enables X86 architecture.")
|
||||
set(ARCH_X86_64 0 CACHE NUMBER "Enables X86_64 architecture.")
|
||||
set(HAVE_EDSP 0 CACHE NUMBER "Enables EDSP optimizations.")
|
||||
|
||||
# ARM optimization flags.
|
||||
set(HAVE_NEON 0 CACHE NUMBER "Enables NEON intrinsics optimizations.")
|
||||
set(HAVE_NEON_ASM 0 CACHE NUMBER "Enables NEON assembly optimizations.")
|
||||
set(HAVE_MIPS32 0 CACHE NUMBER "Enables MIPS32 optimizations.")
|
||||
|
||||
# MIPS optimization flags.
|
||||
set(HAVE_DSPR2 0 CACHE NUMBER "Enables DSPR2 optimizations.")
|
||||
set(HAVE_MSA 0 CACHE NUMBER "Enables MSA optimizations.")
|
||||
set(HAVE_MIPS32 0 CACHE NUMBER "Enables MIPS32 optimizations.")
|
||||
set(HAVE_MIPS64 0 CACHE NUMBER "Enables MIPS64 optimizations. ")
|
||||
set(HAVE_MSA 0 CACHE NUMBER "Enables MSA optimizations.")
|
||||
|
||||
# x86/x86_64 optimization flags.
|
||||
set(HAVE_AVX 0 CACHE NUMBER "Enables AVX optimizations.")
|
||||
set(HAVE_AVX2 0 CACHE NUMBER "Enables AVX2 optimizations.")
|
||||
set(HAVE_MMX 0 CACHE NUMBER "Enables MMX optimizations. ")
|
||||
set(HAVE_SSE 0 CACHE NUMBER "Enables SSE optimizations.")
|
||||
set(HAVE_SSE2 0 CACHE NUMBER "Enables SSE2 optimizations.")
|
||||
set(HAVE_SSE3 0 CACHE NUMBER "Enables SSE3 optimizations.")
|
||||
set(HAVE_SSSE3 0 CACHE NUMBER "Enables SSSE3 optimizations.")
|
||||
set(HAVE_SSE4_1 0 CACHE NUMBER "Enables SSE 4.1 optimizations.")
|
||||
set(HAVE_AVX 0 CACHE NUMBER "Enables AVX optimizations.")
|
||||
set(HAVE_AVX2 0 CACHE NUMBER "Enables AVX2 optimizations.")
|
||||
set(HAVE_SSSE3 0 CACHE NUMBER "Enables SSSE3 optimizations.")
|
||||
|
||||
# Flags describing the build environment.
|
||||
set(HAVE_AOM_PORTS 0 CACHE NUMBER "Internal flag, deprecated.")
|
||||
set(HAVE_FEXCEPT 0 CACHE NUMBER "Internal flag, GNU fenv.h present for target.")
|
||||
set(HAVE_PTHREAD_H 0 CACHE NUMBER "Internal flag, target pthread support.")
|
||||
set(HAVE_UNISTD_H 0 CACHE NUMBER "Internal flag, unistd.h present for target.")
|
||||
set(HAVE_WXWIDGETS 0 CACHE NUMBER "WxWidgets present.")
|
||||
set(CONFIG_DEPENDENCY_TRACKING 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_EXTERNAL_BUILD 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_INSTALL_BINS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_INSTALL_LIBS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_INSTALL_SRCS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_DEBUG 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_GPROF 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_GCOV 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_RVCT 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_GCC 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_MSVS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_PIC 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_BIG_ENDIAN 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_CODEC_SRCS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_DEBUG_LIBS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_RUNTIME_CPU_DETECT 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_POSTPROC 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_MULTITHREAD 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_INTERNAL_STATS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_AV1_ENCODER 1 CACHE NUMBER "Enable AV1 encoder.")
|
||||
set(CONFIG_AV1_DECODER 1 CACHE NUMBER "Enable AV1 decoder.")
|
||||
|
||||
# Deprecated flags preserved for compatibility with configure build.
|
||||
set(CONFIG_CODEC_SRCS 0 CACHE NUMBER "Deprecated flag.")
|
||||
set(CONFIG_DEBUG_LIBS 0 CACHE NUMBER "Deprecated flag.")
|
||||
set(CONFIG_DEPENDENCY_TRACKING 1 CACHE NUMBER "Deprecated flag.")
|
||||
set(CONFIG_EXPERIMENTAL 0 CACHE NUMBER "Deprecated flag.")
|
||||
set(CONFIG_EXTERNAL_BUILD 0 CACHE NUMBER "Deprecated flag.")
|
||||
set(CONFIG_INSTALL_BINS 0 CACHE NUMBER "Deprecated flag.")
|
||||
set(CONFIG_INSTALL_DOCS 0 CACHE NUMBER "Deprecated flag.")
|
||||
set(CONFIG_INSTALL_LIBS 0 CACHE NUMBER "Deprecated flag.")
|
||||
set(CONFIG_INSTALL_SRCS 0 CACHE NUMBER "Deprecated flag.")
|
||||
set(CONFIG_POSTPROC 1 CACHE NUMBER "Deprecated flag.")
|
||||
set(CONFIG_POSTPROC_VISUALIZER 0 CACHE NUMBER "Deprecated flag.")
|
||||
set(CONFIG_RVCT 0 CACHE NUMBER "Deprecated flag.")
|
||||
set(CONFIG_SMALL 0 CACHE NUMBER "Deprecated flag.")
|
||||
set(CONFIG_STATIC_MSVCRT 0 CACHE NUMBER "Deprecated flag.")
|
||||
|
||||
# Build configuration flags.
|
||||
set(CONFIG_AV1 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_STATIC_MSVCRT 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_SPATIAL_RESAMPLING 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_REALTIME_ONLY 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_ONTHEFLY_BITPACKING 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_ERROR_CONCEALMENT 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_SHARED 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_STATIC 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_SMALL 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_POSTPROC_VISUALIZER 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_AV1_DECODER 1 CACHE NUMBER "Enable AV1 decoder.")
|
||||
set(CONFIG_AV1_ENCODER 1 CACHE NUMBER "Enable AV1 encoder.")
|
||||
set(CONFIG_BIG_ENDIAN 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_GCC 0 CACHE NUMBER "Building with GCC (detected).")
|
||||
set(CONFIG_GCOV 0 CACHE NUMBER "Enable gcov support.")
|
||||
set(CONFIG_GPROF 0 CACHE NUMBER "Enable gprof support.")
|
||||
set(CONFIG_LIBYUV 1 CACHE NUMBER "Enables libyuv scaling/conversion support.")
|
||||
set(CONFIG_MSVS 0 CACHE NUMBER "Building with MS Visual Studio (detected).")
|
||||
set(CONFIG_MULTITHREAD 1 CACHE NUMBER "Multithread support.")
|
||||
set(CONFIG_OS_SUPPORT 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_UNIT_TESTS 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_PIC 0 CACHE NUMBER "Build with PIC enabled.")
|
||||
set(CONFIG_RUNTIME_CPU_DETECT 1 CACHE NUMBER "Runtime CPU detection support.")
|
||||
set(CONFIG_SHARED 0 CACHE NUMBER "Build shared libs.")
|
||||
set(CONFIG_STATIC 1 CACHE NUMBER "Build static libs.")
|
||||
set(CONFIG_WEBM_IO 1 CACHE NUMBER "Enables WebM support.")
|
||||
set(CONFIG_LIBYUV 1 CACHE NUMBER "Enables libyuv scaling and conversion support.")
|
||||
|
||||
# Debugging flags.
|
||||
set(CONFIG_BITSTREAM_DEBUG 0 CACHE NUMBER "Bitstream debugging flag.")
|
||||
set(CONFIG_DEBUG 0 CACHE NUMBER "Debug build flag.")
|
||||
|
||||
# Testing flags.
|
||||
set(CONFIG_DECODE_PERF_TESTS 0 CACHE NUMBER "Enables decoder performance test.")
|
||||
set(CONFIG_ENCODE_PERF_TESTS 0 CACHE NUMBER "Enables encoder performance test.")
|
||||
set(CONFIG_UNIT_TESTS 1 CACHE NUMBER "Enables unit tests.")
|
||||
|
||||
# AV1 feature flags.
|
||||
set(CONFIG_ACCOUNTING 0 CACHE NUMBER "Enables bit accounting.")
|
||||
set(CONFIG_ANALYZER 0 CACHE NUMBER "Enables bit stream analyzer.")
|
||||
set(CONFIG_COEFFICIENT_RANGE_CHECKING 0 CACHE NUMBER "Coefficient range check.")
|
||||
set(CONFIG_HIGHBITDEPTH 1 CACHE NUMBER "Enables high bit depth support.")
|
||||
set(CONFIG_INSPECTION 0 CACHE NUMBER "Enables bitstream inspection.")
|
||||
set(CONFIG_DECODE_PERF_TESTS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_ENCODE_PERF_TESTS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_COEFFICIENT_RANGE_CHECKING 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_LOWBITDEPTH 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_HIGHBITDEPTH 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_EXPERIMENTAL 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_SIZE_LIMIT 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_COLORSPACE_HEADERS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_FP_MB_STATS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_CDEF 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_VAR_TX 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_RECT_TX 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_RECT_TX_EXT 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_TPL_MV 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_DUAL_FILTER 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_CONVOLVE_ROUND 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_COMPOUND_ROUND 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_EXT_TX 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_DPCM_INTRA 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_TX64X64 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_EXT_INTRA 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_INTRA_INTERP 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_FILTER_INTRA 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_INTRA_EDGE 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_INTRABC 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_EXT_INTER 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_INTERINTRA 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_WEDGE 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_COMPOUND_SEGMENT 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_EXT_REFS 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_SPEED_REFS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_GLOBAL_MOTION 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_NEW_QUANT 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_SUPERTX 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_ANS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_LOOP_RESTORATION 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_EXT_PARTITION 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_EXT_PARTITION_TYPES 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_UNPOISON_PARTITION_CTX 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_EXT_TILE 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_MOTION_VAR 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_NCOBMC 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_WARPED_MOTION 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_Q_ADAPT_PROBS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_BITSTREAM_DEBUG 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_ALT_INTRA 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_PALETTE 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_PALETTE_DELTA_ENCODING 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_RAWBITS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_EC_SMALLMUL 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_PVQ 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_CFL 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_XIPHRC 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_CB4X4 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_CHROMA_2X2 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_CHROMA_SUB8X8 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_FRAME_SIZE 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_DELTA_Q 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_EXT_DELTA_Q 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_ADAPT_SCAN 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_FILTER_7BIT 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_PARALLEL_DEBLOCKING 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_LOOPFILTERING_ACROSS_TILES 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_TEMPMV_SIGNALING 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_RD_DEBUG 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_REFERENCE_BUFFER 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_COEF_INTERLEAVE 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_ENTROPY_STATS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_MASKED_TX 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_DEPENDENT_HORZTILES 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_DAALA_DIST 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_TRIPRED 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_PALETTE_THROUGHPUT 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_REF_ADAPT 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_LV_MAP 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_TXK_SEL 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_MV_COMPRESS 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_FRAME_SUPERRES 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_NEW_MULTISYMBOL 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_COMPOUND_SINGLEREF 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_AOM_QM 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_ONE_SIDED_COMPOUND 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_EXT_COMP_REFS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_SMOOTH_HV 1 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_VAR_REFS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_RECT_INTRA_PRED 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_LGT 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_SBL_SYMBOL 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_NCOBMC_ADAPT_WEIGHT 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_BGSPRITE 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_VAR_TX_NO_TX_MODE 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_ANALYZER 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_DCT_ONLY 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_DAALA_DCT4 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_DAALA_DCT8 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_GF_GROUPS 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_MRC_TX 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_INTER_STATS_ONLY 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_DIST_8X8 0 CACHE NUMBER "Internal flag.")
|
||||
set(CONFIG_INTERNAL_STATS 0 CACHE NUMBER "Codec stats.")
|
||||
set(CONFIG_LOWBITDEPTH 1 CACHE NUMBER "Enables low bit depth support.")
|
||||
set(CONFIG_REALTIME_ONLY 0 CACHE NUMBER "Support only realtime encodes.")
|
||||
set(CONFIG_SIZE_LIMIT 0 CACHE NUMBER "Limit max decode width/height.")
|
||||
set(CONFIG_SPATIAL_RESAMPLING 1 CACHE NUMBER "Spatial resampling.")
|
||||
set(CONFIG_SYMBOLRATE 0 CACHE NUMBER "Enables symbol rate accounting.")
|
||||
|
||||
# AV1 experiment flags.
|
||||
set(CONFIG_ADAPT_SCAN 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_AMVR 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_ANS 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_AOM_QM 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_BGSPRITE 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_CB4X4 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_CDEF 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_CDEF_SINGLEPASS 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_CFL 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_CHROMA_2X2 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_CHROMA_SUB8X8 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_COEF_INTERLEAVE 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_COLORSPACE_HEADERS 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_COMPOUND_ROUND 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_COMPOUND_SEGMENT 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_COMPOUND_SINGLEREF 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_CONVOLVE_ROUND 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_CTX1D 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_DAALA_DCT16 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_DAALA_DCT32 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_DAALA_DCT4 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_DAALA_DCT64 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_DAALA_DCT8 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_DAALA_TX 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_DCT_ONLY 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_DEBLOCK_13TAP 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_DEPENDENT_HORZTILES 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_DIST_8X8 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_DUAL_FILTER 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_ENTROPY_STATS 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_EXT_COMP_REFS 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_EXT_DELTA_Q 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_EXT_INTRA 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_EXT_PARTITION 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_EXT_PARTITION_TYPES 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_EXT_PARTITION_TYPES_AB 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_EXT_REFS 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_EXT_SKIP 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_EXT_TILE 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_EXT_TX 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_FILTER_INTRA 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_FP_MB_STATS 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_FRAME_MARKER 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_FRAME_SIGN_BIAS 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_FRAME_SIZE 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_FRAME_SUPERRES 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_GLOBAL_MOTION 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_HASH_ME 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_HORZONLY_FRAME_SUPERRES 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_INTERINTRA 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_INTER_STATS_ONLY 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_INTRABC 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_INTRA_EDGE 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_INTRA_INTERP 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_JNT_COMP 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_KF_CTX 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_LGT 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_LGT_FROM_PRED 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_LOOPFILTERING_ACROSS_TILES 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_LOOPFILTER_LEVEL 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_LOOP_RESTORATION 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_LPF_DIRECT 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_LPF_SB 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_LV_MAP 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_MASKED_TX 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_MAX_TILE 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_MFMV 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_MOTION_VAR 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_MRC_TX 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_MV_COMPRESS 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_NCOBMC 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_NCOBMC_ADAPT_WEIGHT 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_NEW_MULTISYMBOL 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_NEW_QUANT 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_NO_FRAME_CONTEXT_SIGNALING 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_OBU 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_ONE_SIDED_COMPOUND 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_OPT_REF_MV 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_PALETTE_DELTA_ENCODING 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_PALETTE_THROUGHPUT 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_PARALLEL_DEBLOCKING 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_PVQ 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_Q_ADAPT_PROBS 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_RAWBITS 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_RD_DEBUG 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_RECT_TX 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_RECT_TX_EXT 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_REFERENCE_BUFFER 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_REF_ADAPT 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_RESTRICT_COMPRESSED_HDR 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_SBL_SYMBOL 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_SEGMENT_ZEROMV 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_SMOOTH_HV 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_STRIPED_LOOP_RESTORATION 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_SUPERTX 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_TEMPMV_SIGNALING 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_TMV 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_TPL_MV 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_TX64X64 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_TXK_SEL 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_TXMG 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_UNPOISON_PARTITION_CTX 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_VAR_REFS 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_VAR_TX 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_VAR_TX_NO_TX_MODE 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_WARPED_MOTION 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_WEDGE 1 CACHE NUMBER "AV1 experiment flag.")
|
||||
set(CONFIG_XIPHRC 0 CACHE NUMBER "AV1 experiment flag.")
|
||||
|
|
|
|||
298
third_party/aom/build/cmake/aom_configure.cmake
vendored
298
third_party/aom/build/cmake/aom_configure.cmake
vendored
|
|
@ -33,9 +33,11 @@ endforeach()
|
|||
string(STRIP "${AOM_CMAKE_CONFIG}" AOM_CMAKE_CONFIG)
|
||||
|
||||
include("${AOM_ROOT}/build/cmake/aom_config_defaults.cmake")
|
||||
include("${AOM_ROOT}/build/cmake/aom_experiment_deps.cmake")
|
||||
include("${AOM_ROOT}/build/cmake/aom_optimization.cmake")
|
||||
include("${AOM_ROOT}/build/cmake/compiler_flags.cmake")
|
||||
include("${AOM_ROOT}/build/cmake/compiler_tests.cmake")
|
||||
include("${AOM_ROOT}/build/cmake/util.cmake")
|
||||
|
||||
# Build a list of all configurable variables.
|
||||
get_cmake_property(cmake_cache_vars CACHE_VARIABLES)
|
||||
|
|
@ -45,6 +47,24 @@ foreach (var ${cmake_cache_vars})
|
|||
endif ()
|
||||
endforeach ()
|
||||
|
||||
# Adopted experiments get enabled by default. For debugging, make it possible to
|
||||
# to turn them all off with a single option.
|
||||
if (NOT ENABLE_ADOPTED_EXPERIMENTS)
|
||||
get_cmake_property(cmake_cache_vars CACHE_VARIABLES)
|
||||
unset(var)
|
||||
foreach (var ${cmake_cache_vars})
|
||||
unset(var_helpstring)
|
||||
get_property(var_helpstring CACHE ${var} PROPERTY HELPSTRING)
|
||||
if ("${var_helpstring}" STREQUAL "AV1 experiment flag.")
|
||||
if ("${var}" STREQUAL "CONFIG_CB4X4")
|
||||
# CB4X4 is required and can not be disabled.
|
||||
else ()
|
||||
set(${var} 0)
|
||||
endif ()
|
||||
endif ()
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
# Detect target CPU.
|
||||
if (NOT AOM_TARGET_CPU)
|
||||
if ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "AMD64" OR
|
||||
|
|
@ -83,17 +103,28 @@ string(STRIP "${AOM_CMAKE_CONFIG}" AOM_CMAKE_CONFIG)
|
|||
message("--- aom_configure: Detected CPU: ${AOM_TARGET_CPU}")
|
||||
set(AOM_TARGET_SYSTEM ${CMAKE_SYSTEM_NAME})
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set(CONFIG_PIC 1)
|
||||
set(CONFIG_SHARED 1)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
if ("${CMAKE_BUILD_TYPE}" MATCHES "Deb")
|
||||
set(CONFIG_DEBUG 1)
|
||||
endif ()
|
||||
|
||||
if ("${AOM_TARGET_SYSTEM}" STREQUAL "Linux" AND
|
||||
"${AOM_TARGET_CPU}" MATCHES "^armv7")
|
||||
set(AOM_AS_FLAGS ${AOM_AS_FLAGS} --defsym PIC=1)
|
||||
else ()
|
||||
set(AOM_AS_FLAGS ${AOM_AS_FLAGS} -DPIC)
|
||||
if (NOT MSVC)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set(CONFIG_PIC 1)
|
||||
set(CONFIG_SHARED 1)
|
||||
set(CONFIG_STATIC 0)
|
||||
endif ()
|
||||
|
||||
if (CONFIG_PIC)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
if ("${AOM_TARGET_SYSTEM}" STREQUAL "Linux" AND
|
||||
"${AOM_TARGET_CPU}" MATCHES "^armv7")
|
||||
set(AOM_AS_FLAGS ${AOM_AS_FLAGS} --defsym PIC=1)
|
||||
else ()
|
||||
set(AOM_AS_FLAGS ${AOM_AS_FLAGS} -DPIC)
|
||||
endif ()
|
||||
endif ()
|
||||
else ()
|
||||
set(CONFIG_MSVS 1)
|
||||
endif ()
|
||||
|
||||
if (NOT "${AOM_SUPPORTED_CPU_TARGETS}" MATCHES "${AOM_TARGET_CPU}")
|
||||
|
|
@ -112,8 +143,9 @@ if ("${AOM_TARGET_CPU}" STREQUAL "x86" OR "${AOM_TARGET_CPU}" STREQUAL "x86_64")
|
|||
endif ()
|
||||
|
||||
if (NOT AS_EXECUTABLE)
|
||||
message(FATAL_ERROR "Unable to find yasm. To build without optimizations, "
|
||||
"add -DAOM_TARGET_CPU=generic to your cmake command line.")
|
||||
message(FATAL_ERROR "Unable to find assembler. To build without "
|
||||
"optimizations, add -DAOM_TARGET_CPU=generic to your cmake command "
|
||||
"line.")
|
||||
endif ()
|
||||
get_asm_obj_format("objformat")
|
||||
set(AOM_AS_FLAGS -f ${objformat} ${AOM_AS_FLAGS})
|
||||
|
|
@ -134,26 +166,71 @@ elseif ("${AOM_TARGET_CPU}" MATCHES "arm")
|
|||
string(STRIP "${AOM_AS_FLAGS}" AOM_AS_FLAGS)
|
||||
endif ()
|
||||
|
||||
if (CONFIG_ANALYZER)
|
||||
find_package(wxWidgets REQUIRED adv base core)
|
||||
include(${wxWidgets_USE_FILE})
|
||||
endif ()
|
||||
|
||||
if (NOT MSVC AND CMAKE_C_COMPILER_ID MATCHES "GNU\|Clang")
|
||||
set(CONFIG_GCC 1)
|
||||
endif ()
|
||||
|
||||
if (CONFIG_GCOV)
|
||||
message("--- Testing for CONFIG_GCOV support.")
|
||||
require_linker_flag("-fprofile-arcs -ftest-coverage")
|
||||
require_compiler_flag("-fprofile-arcs -ftest-coverage" YES)
|
||||
endif ()
|
||||
|
||||
if (CONFIG_GPROF)
|
||||
message("--- Testing for CONFIG_GPROF support.")
|
||||
require_compiler_flag("-pg" YES)
|
||||
endif ()
|
||||
|
||||
if ("${AOM_TARGET_SYSTEM}" MATCHES "Darwin\|Linux\|Windows")
|
||||
set(CONFIG_OS_SUPPORT 1)
|
||||
endif ()
|
||||
|
||||
################################################################################
|
||||
# Fix CONFIG_* dependencies. This must be done before including cpu.cmake to
|
||||
# ensure RTCD_CONFIG_* are properly set.
|
||||
fix_experiment_configs()
|
||||
|
||||
# Test compiler support.
|
||||
aom_get_inline("INLINE")
|
||||
|
||||
# TODO(tomfinegan): aom_ports_check is legacy; HAVE_AOM_PORTS is not used
|
||||
# anywhere in the aom sources. To be removed after parity with the legacy
|
||||
# build system stops being important.
|
||||
aom_check_source_compiles("aom_ports_check"
|
||||
"#include \"${AOM_ROOT}/aom/aom_integer.h\""
|
||||
HAVE_AOM_PORTS)
|
||||
aom_check_source_compiles("pthread_check" "#include <pthread.h>" HAVE_PTHREAD_H)
|
||||
aom_check_source_compiles("unistd_check" "#include <unistd.h>" HAVE_UNISTD_H)
|
||||
|
||||
if (NOT MSVC)
|
||||
aom_push_var(CMAKE_REQUIRED_LIBRARIES "m")
|
||||
aom_check_c_compiles("fenv_check"
|
||||
"#define _GNU_SOURCE
|
||||
#include <fenv.h>
|
||||
void unused(void) {
|
||||
(void)unused;
|
||||
(void)feenableexcept(FE_DIVBYZERO | FE_INVALID);
|
||||
}" HAVE_FEXCEPT)
|
||||
aom_pop_var(CMAKE_REQUIRED_LIBRARIES)
|
||||
endif()
|
||||
|
||||
include("${AOM_ROOT}/build/cmake/cpu.cmake")
|
||||
|
||||
if (ENABLE_CCACHE)
|
||||
find_program(CCACHE "ccache")
|
||||
if (NOT "${CCACHE}" STREQUAL "")
|
||||
set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE}")
|
||||
set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE}")
|
||||
else ()
|
||||
message("--- Cannot find ccache, ENABLE_CCACHE ignored.")
|
||||
endif ()
|
||||
set_compiler_launcher(ENABLE_CCACHE ccache)
|
||||
endif ()
|
||||
|
||||
if (ENABLE_DISTCC)
|
||||
find_program(DISTCC "distcc")
|
||||
if (NOT "${DISTCC}" STREQUAL "")
|
||||
set(CMAKE_C_COMPILER_LAUNCHER "${DISTCC}")
|
||||
set(CMAKE_CXX_COMPILER_LAUNCHER "${DISTCC}")
|
||||
else ()
|
||||
message("--- Cannot find distcc, ENABLE_DISTCC ignored.")
|
||||
endif ()
|
||||
set_compiler_launcher(ENABLE_DISTCC distcc)
|
||||
endif ()
|
||||
|
||||
if (ENABLE_GOMA)
|
||||
set_compiler_launcher(ENABLE_GOMA gomacc)
|
||||
endif ()
|
||||
|
||||
if (NOT CONFIG_AV1_DECODER AND NOT CONFIG_AV1_ENCODER)
|
||||
|
|
@ -175,8 +252,10 @@ else ()
|
|||
add_compiler_flag_if_supported("-Wextra")
|
||||
add_compiler_flag_if_supported("-Wfloat-conversion")
|
||||
add_compiler_flag_if_supported("-Wimplicit-function-declaration")
|
||||
add_compiler_flag_if_supported("-Wlogical-op")
|
||||
add_compiler_flag_if_supported("-Wpointer-arith")
|
||||
add_compiler_flag_if_supported("-Wsign-compare")
|
||||
add_compiler_flag_if_supported("-Wstack-usage=320000")
|
||||
add_compiler_flag_if_supported("-Wstring-conversion")
|
||||
add_compiler_flag_if_supported("-Wtype-limits")
|
||||
add_compiler_flag_if_supported("-Wuninitialized")
|
||||
|
|
@ -199,10 +278,6 @@ else ()
|
|||
# to the existing configure/make build system.
|
||||
add_compiler_flag_if_supported("-Wno-unused-function")
|
||||
|
||||
if (CMAKE_C_COMPILER_ID MATCHES "GNU\|Clang")
|
||||
set(CONFIG_GCC 1)
|
||||
endif ()
|
||||
|
||||
if ("${CMAKE_BUILD_TYPE}" MATCHES "Rel")
|
||||
add_compiler_flag_if_supported("-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0")
|
||||
endif ()
|
||||
|
|
@ -210,86 +285,6 @@ else ()
|
|||
add_compiler_flag_if_supported("-D_FILE_OFFSET_BITS=64")
|
||||
endif ()
|
||||
|
||||
if ("${AOM_TARGET_SYSTEM}" MATCHES "Darwin\|Linux\|Windows")
|
||||
set(CONFIG_OS_SUPPORT 1)
|
||||
endif ()
|
||||
|
||||
# Test compiler support.
|
||||
aom_get_inline("INLINE")
|
||||
|
||||
# TODO(tomfinegan): aom_ports_check is legacy; HAVE_AOM_PORTS is not used
|
||||
# anywhere in the aom sources. To be removed after parity with the legacy
|
||||
# build system stops being important.
|
||||
aom_check_source_compiles("aom_ports_check"
|
||||
"#include \"${AOM_ROOT}/aom/aom_integer.h\""
|
||||
HAVE_AOM_PORTS)
|
||||
aom_check_source_compiles("pthread_check" "#include <pthread.h>" HAVE_PTHREAD_H)
|
||||
aom_check_source_compiles("unistd_check" "#include <unistd.h>" HAVE_UNISTD_H)
|
||||
|
||||
if (CONFIG_ANALYZER)
|
||||
find_package(wxWidgets REQUIRED adv base core)
|
||||
include(${wxWidgets_USE_FILE})
|
||||
|
||||
if (NOT CONFIG_INSPECTION)
|
||||
set(CONFIG_INSPECTION 1)
|
||||
message(WARNING
|
||||
"--- Enabled CONFIG_INSPECTION, required for CONFIG_ANALYZER.")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CONFIG_VAR_TX_NO_TX_MODE AND NOT CONFIG_VAR_TX)
|
||||
message(WARNING
|
||||
"--- CONFIG_VAR_TX_NO_TX_MODE requires CONFIG_VAR_TX, disabling.")
|
||||
set(CONFIG_VAR_TX_NO_TX_MODE 0)
|
||||
endif()
|
||||
|
||||
if (CONFIG_DAALA_DCT4)
|
||||
if (NOT CONFIG_DCT_ONLY)
|
||||
message(WARNING
|
||||
"--- Enabled CONFIG_DCT_ONLY, needed for CONFIG_DAALA_DCT4.")
|
||||
set(CONFIG_DCT_ONLY 1)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (CONFIG_DAALA_DCT4 OR CONFIG_DAALA_DCT8)
|
||||
if (HAVE_MMX)
|
||||
message(WARNING
|
||||
"--- Disabled HAVE_MMX, incompatible with CONFIG_DAALA_DCTx.")
|
||||
set(HAVE_MMX 0)
|
||||
endif()
|
||||
if (CONFIG_RECT_TX)
|
||||
message(WARNING
|
||||
"--- Disabled CONFIG_RECT_TX, incompatible with CONFIG_DAALA_DCTx.")
|
||||
set(CONFIG_RECT_TX 0)
|
||||
endif()
|
||||
if (CONFIG_VAR_TX)
|
||||
message(WARNING
|
||||
"--- Disabled CONFIG_VAR_TX, incompatible with CONFIG_DAALA_DCTx.")
|
||||
set(CONFIG_VAR_TX 0)
|
||||
endif()
|
||||
if (CONFIG_LGT)
|
||||
message(WARNING
|
||||
"--- Disabled CONFIG_LGT, incompatible with CONFIG_DAALA_DCTx.")
|
||||
set(CONFIG_LGT 0)
|
||||
endif()
|
||||
if (NOT CONFIG_LOWBITDEPTH)
|
||||
message(WARNING
|
||||
"--- Enabled CONFIG_LOWBITDEPTH, needed for CONFIG_DAALA_DCTx.")
|
||||
set(CONFIG_LOWBITDEPTH 1)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT MSVC)
|
||||
aom_push_var(CMAKE_REQUIRED_LIBRARIES "m")
|
||||
aom_check_c_compiles("fenv_check"
|
||||
"#define _GNU_SOURCE
|
||||
#include <fenv.h>
|
||||
void unused(void) {
|
||||
(void)feenableexcept(FE_DIVBYZERO | FE_INVALID);
|
||||
}" HAVE_FEXCEPT)
|
||||
aom_pop_var(CMAKE_REQUIRED_LIBRARIES)
|
||||
endif()
|
||||
|
||||
set(AOM_LIB_LINK_TYPE PUBLIC)
|
||||
if (EMSCRIPTEN)
|
||||
# Avoid CMake generation time errors resulting from collisions with the form
|
||||
|
|
@ -311,19 +306,8 @@ configure_file("${aom_config_h_template}" "${AOM_CONFIG_DIR}/aom_config.h")
|
|||
|
||||
# Read the current git hash.
|
||||
find_package(Git)
|
||||
set(AOM_GIT_DESCRIPTION)
|
||||
set(AOM_GIT_HASH)
|
||||
if (GIT_FOUND)
|
||||
# TODO(tomfinegan): Add build rule so users don't have to re-run cmake to
|
||||
# create accurately versioned cmake builds.
|
||||
execute_process(COMMAND ${GIT_EXECUTABLE}
|
||||
--git-dir=${AOM_ROOT}/.git rev-parse HEAD
|
||||
OUTPUT_VARIABLE AOM_GIT_HASH)
|
||||
execute_process(COMMAND ${GIT_EXECUTABLE} --git-dir=${AOM_ROOT}/.git describe
|
||||
OUTPUT_VARIABLE AOM_GIT_DESCRIPTION ERROR_QUIET)
|
||||
# Consume the newline at the end of the git output.
|
||||
string(STRIP "${AOM_GIT_HASH}" AOM_GIT_HASH)
|
||||
string(STRIP "${AOM_GIT_DESCRIPTION}" AOM_GIT_DESCRIPTION)
|
||||
if (NOT GIT_FOUND)
|
||||
message("--- Git missing, version will be read from CHANGELOG.")
|
||||
endif ()
|
||||
|
||||
configure_file("${AOM_ROOT}/build/cmake/aom_config.c.cmake"
|
||||
|
|
@ -367,64 +351,26 @@ foreach(NUM RANGE ${AOM_RTCD_CUSTOM_COMMAND_COUNT})
|
|||
OUTPUT_FILE ${AOM_RTCD_HEADER_FILE})
|
||||
endforeach()
|
||||
|
||||
function (add_rtcd_build_step config output source symbol)
|
||||
add_custom_command(
|
||||
OUTPUT ${output}
|
||||
COMMAND ${PERL_EXECUTABLE}
|
||||
ARGS "${AOM_ROOT}/build/make/rtcd.pl"
|
||||
--arch=${AOM_TARGET_CPU}
|
||||
--sym=${symbol}
|
||||
${AOM_RTCD_FLAGS}
|
||||
--config=${AOM_CONFIG_DIR}/${AOM_TARGET_CPU}_rtcd_config.rtcd
|
||||
${config}
|
||||
> ${output}
|
||||
DEPENDS ${config}
|
||||
COMMENT "Generating ${output}"
|
||||
WORKING_DIRECTORY ${AOM_CONFIG_DIR}
|
||||
VERBATIM)
|
||||
set_property(SOURCE ${source} PROPERTY OBJECT_DEPENDS ${output})
|
||||
set_property(SOURCE ${output} PROPERTY GENERATED)
|
||||
endfunction ()
|
||||
|
||||
# Generate aom_version.h.
|
||||
if ("${AOM_GIT_DESCRIPTION}" STREQUAL "")
|
||||
set(AOM_GIT_DESCRIPTION "${AOM_ROOT}/CHANGELOG")
|
||||
endif ()
|
||||
execute_process(
|
||||
COMMAND ${PERL_EXECUTABLE} "${AOM_ROOT}/build/cmake/aom_version.pl"
|
||||
--version_data=${AOM_GIT_DESCRIPTION}
|
||||
--version_filename=${AOM_CONFIG_DIR}/aom_version.h)
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DAOM_CONFIG_DIR=${AOM_CONFIG_DIR}
|
||||
-DAOM_ROOT=${AOM_ROOT}
|
||||
-DGIT_EXECUTABLE=${GIT_EXECUTABLE}
|
||||
-DPERL_EXECUTABLE=${PERL_EXECUTABLE}
|
||||
-P "${AOM_ROOT}/build/cmake/version.cmake")
|
||||
|
||||
# Generate aom.pc (pkg-config file).
|
||||
if (NOT MSVC)
|
||||
# Extract the version string from aom_version.h
|
||||
file(STRINGS "${AOM_CONFIG_DIR}/aom_version.h" aom_version
|
||||
REGEX "VERSION_STRING_NOSP")
|
||||
string(REPLACE "#define VERSION_STRING_NOSP \"v" "" aom_version
|
||||
"${aom_version}")
|
||||
string(REPLACE "\"" "" aom_version "${aom_version}")
|
||||
|
||||
# Write pkg-config info.
|
||||
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||
set(pkgconfig_file "${AOM_CONFIG_DIR}/aom.pc")
|
||||
string(TOLOWER ${CMAKE_PROJECT_NAME} pkg_name)
|
||||
file(WRITE "${pkgconfig_file}" "# libaom pkg-config.\n")
|
||||
file(APPEND "${pkgconfig_file}" "prefix=${prefix}\n")
|
||||
file(APPEND "${pkgconfig_file}" "exec_prefix=${prefix}/bin\n")
|
||||
file(APPEND "${pkgconfig_file}" "libdir=${prefix}/lib\n")
|
||||
file(APPEND "${pkgconfig_file}" "includedir=${prefix}/include\n\n")
|
||||
file(APPEND "${pkgconfig_file}" "Name: ${pkg_name}\n")
|
||||
file(APPEND "${pkgconfig_file}" "Description: AV1 codec library.\n")
|
||||
file(APPEND "${pkgconfig_file}" "Version: ${aom_version}\n")
|
||||
file(APPEND "${pkgconfig_file}" "Requires:\n")
|
||||
file(APPEND "${pkgconfig_file}" "Conflicts:\n")
|
||||
file(APPEND "${pkgconfig_file}" "Libs: -L${prefix}/lib -l${pkg_name} -lm\n")
|
||||
if (CONFIG_MULTITHREAD AND HAVE_PTHREAD_H)
|
||||
file(APPEND "${pkgconfig_file}" "Libs.private: -lm -lpthread\n")
|
||||
else ()
|
||||
file(APPEND "${pkgconfig_file}" "Libs.private: -lm\n")
|
||||
endif ()
|
||||
file(APPEND "${pkgconfig_file}" "Cflags: -I${prefix}/include\n")
|
||||
# Generate aom.pc (pkg-config file).
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DAOM_CONFIG_DIR=${AOM_CONFIG_DIR}
|
||||
-DAOM_ROOT=${AOM_ROOT}
|
||||
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
|
||||
-DCMAKE_PROJECT_NAME=${CMAKE_PROJECT_NAME}
|
||||
-DCONFIG_MULTITHREAD=${CONFIG_MULTITHREAD}
|
||||
-DHAVE_PTHREAD_H=${HAVE_PTHREAD_H}
|
||||
-P "${AOM_ROOT}/build/cmake/pkg_config.cmake")
|
||||
endif ()
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_AOM_CONFIGURE_CMAKE_
|
||||
|
|
|
|||
139
third_party/aom/build/cmake/aom_experiment_deps.cmake
vendored
Normal file
139
third_party/aom/build/cmake/aom_experiment_deps.cmake
vendored
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
##
|
||||
## 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.
|
||||
##
|
||||
if (NOT AOM_BUILD_CMAKE_AOM_EXPERIMENT_DEPS_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_AOM_EXPERIMENT_DEPS_CMAKE_ 1)
|
||||
|
||||
# Adjusts CONFIG_* CMake variables to address conflicts between active AV1
|
||||
# experiments.
|
||||
macro (fix_experiment_configs)
|
||||
if (CONFIG_ANALYZER)
|
||||
if (NOT CONFIG_INSPECTION)
|
||||
change_config_and_warn(CONFIG_INSPECTION 1 CONFIG_ANALYZER)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CONFIG_VAR_TX_NO_TX_MODE AND NOT CONFIG_VAR_TX)
|
||||
change_config_and_warn(CONFIG_VAR_TX 1 CONFIG_VAR_TX_NO_TX_MODE)
|
||||
endif ()
|
||||
|
||||
if (CONFIG_CHROMA_2X2)
|
||||
change_config_and_warn(CONFIG_CHROMA_SUB8X8 0 CONFIG_CHROMA_2X2)
|
||||
endif ()
|
||||
|
||||
if (CONFIG_DAALA_TX)
|
||||
set(CONFIG_DAALA_DCT4 1)
|
||||
set(CONFIG_DAALA_DCT8 1)
|
||||
set(CONFIG_DAALA_DCT16 1)
|
||||
set(CONFIG_DAALA_DCT32 1)
|
||||
set(CONFIG_DAALA_DCT64 1)
|
||||
endif ()
|
||||
|
||||
if (CONFIG_DAALA_DCT64)
|
||||
if (NOT CONFIG_TX64X64)
|
||||
set(CONFIG_DAALA_DCT64 0)
|
||||
message("--- DAALA_DCT64 requires TX64X64: disabled DAALA_DCT64")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CONFIG_DAALA_DCT4 OR CONFIG_DAALA_DCT8 OR CONFIG_DAALA_DCT16 OR
|
||||
CONFIG_DAALA_DCT32 OR CONFIG_DAALA_DCT64)
|
||||
if (CONFIG_LGT)
|
||||
change_config_and_warn(CONFIG_LGT 0 CONFIG_DAALA_DCTx)
|
||||
endif ()
|
||||
if (NOT CONFIG_LOWBITDEPTH)
|
||||
change_config_and_warn(CONFIG_LOWBITDEPTH 1 CONFIG_DAALA_DCTx)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CONFIG_TXK_SEL)
|
||||
if (NOT CONFIG_LV_MAP)
|
||||
change_config_and_warn(CONFIG_LV_MAP 1 CONFIG_TXK_SEL)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CONFIG_CTX1D)
|
||||
if (NOT CONFIG_LV_MAP)
|
||||
change_config_and_warn(CONFIG_LV_MAP 1 CONFIG_CTX1D)
|
||||
endif ()
|
||||
if (NOT CONFIG_EXT_TX)
|
||||
change_config_and_warn(CONFIG_EXT_TX 1 CONFIG_CTX1D)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CONFIG_EXT_COMP_REFS)
|
||||
if (NOT CONFIG_EXT_REFS)
|
||||
change_config_and_warn(CONFIG_EXT_REFS 1 CONFIG_EXT_COMP_REFS)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CONFIG_STRIPED_LOOP_RESTORATION)
|
||||
if (NOT CONFIG_LOOP_RESTORATION)
|
||||
change_config_and_warn(CONFIG_LOOP_RESTORATION 1
|
||||
CONFIG_STRIPED_LOOP_RESTORATION)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CONFIG_MFMV)
|
||||
if (NOT CONFIG_FRAME_MARKER)
|
||||
change_config_and_warn(CONFIG_FRAME_MARKER 1 CONFIG_MFMV)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CONFIG_NEW_MULTISYMBOL)
|
||||
if (NOT CONFIG_RESTRICT_COMPRESSED_HDR)
|
||||
change_config_and_warn(CONFIG_RESTRICT_COMPRESSED_HDR 1
|
||||
CONFIG_NEW_MULTISYMBOL)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CONFIG_EXT_PARTITION_TYPES)
|
||||
if (CONFIG_SUPERTX)
|
||||
change_config_and_warn(CONFIG_SUPERTX 0
|
||||
CONFIG_EXT_PARTITION_TYPES)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CONFIG_JNT_COMP)
|
||||
if (NOT CONFIG_FRAME_MARKER)
|
||||
change_config_and_warn(CONFIG_FRAME_MARKER 1 CONFIG_JNT_COMP)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CONFIG_AMVR)
|
||||
change_config_and_warn(CONFIG_HASH_ME 1 CONFIG_AMVR)
|
||||
endif ()
|
||||
|
||||
if (CONFIG_PVQ)
|
||||
if (CONFIG_EXT_TX)
|
||||
change_config_and_warn(CONFIG_EXT_TX 0 CONFIG_PVQ)
|
||||
endif ()
|
||||
if (CONFIG_HIGHBITDEPTH)
|
||||
change_config_and_warn(CONFIG_HIGHBITDEPTH 0 CONFIG_PVQ)
|
||||
endif ()
|
||||
if (CONFIG_PALETTE_THROUGHPUT)
|
||||
change_config_and_warn(CONFIG_PALETTE_THROUGHPUT 0 CONFIG_PVQ)
|
||||
endif ()
|
||||
if (CONFIG_RECT_TX)
|
||||
change_config_and_warn(CONFIG_RECT_TX 0 CONFIG_PVQ)
|
||||
endif ()
|
||||
if (CONFIG_VAR_TX)
|
||||
change_config_and_warn(CONFIG_VAR_TX 0 CONFIG_PVQ)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CONFIG_HORZONLY_FRAME_SUPERRES)
|
||||
if (NOT CONFIG_FRAME_SUPERRES)
|
||||
change_config_and_warn(CONFIG_FRAME_SUPERRES 1 CONFIG_HORZONLY_FRAME_SUPERRES)
|
||||
endif ()
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_AOM_EXPERIMENT_DEPS_CMAKE_
|
||||
|
|
@ -238,4 +238,27 @@ function (test_nasm)
|
|||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Adds build command for generation of rtcd C source files using
|
||||
# build/make/rtcd.pl. $config is the input perl file, $output is the output C
|
||||
# include file, $source is the C source file, and $symbol is used for the symbol
|
||||
# argument passed to rtcd.pl.
|
||||
function (add_rtcd_build_step config output source symbol)
|
||||
add_custom_command(
|
||||
OUTPUT ${output}
|
||||
COMMAND ${PERL_EXECUTABLE}
|
||||
ARGS "${AOM_ROOT}/build/make/rtcd.pl"
|
||||
--arch=${AOM_TARGET_CPU}
|
||||
--sym=${symbol}
|
||||
${AOM_RTCD_FLAGS}
|
||||
--config=${AOM_CONFIG_DIR}/${AOM_TARGET_CPU}_rtcd_config.rtcd
|
||||
${config}
|
||||
> ${output}
|
||||
DEPENDS ${config}
|
||||
COMMENT "Generating ${output}"
|
||||
WORKING_DIRECTORY ${AOM_CONFIG_DIR}
|
||||
VERBATIM)
|
||||
set_property(SOURCE ${source} PROPERTY OBJECT_DEPENDS ${output})
|
||||
set_property(SOURCE ${output} PROPERTY GENERATED)
|
||||
endfunction ()
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_AOM_OPTIMIZATION_CMAKE_
|
||||
|
|
|
|||
344
third_party/aom/build/cmake/compiler_flags.cmake
vendored
344
third_party/aom/build/cmake/compiler_flags.cmake
vendored
|
|
@ -13,53 +13,93 @@ set(AOM_BUILD_CMAKE_COMPILER_FLAGS_CMAKE_ 1)
|
|||
|
||||
include(CheckCCompilerFlag)
|
||||
include(CheckCXXCompilerFlag)
|
||||
include("${AOM_ROOT}/build/cmake/compiler_tests.cmake")
|
||||
|
||||
# Strings used to cache failed C/CXX flags.
|
||||
# Strings used to cache flags.
|
||||
set(AOM_C_FLAGS)
|
||||
set(AOM_CXX_FLAGS)
|
||||
set(AOM_EXE_LINKER_FLAGS)
|
||||
set(AOM_FAILED_C_FLAGS)
|
||||
set(AOM_FAILED_CXX_FLAGS)
|
||||
|
||||
# Checks C compiler for support of $c_flag. Adds $c_flag to $CMAKE_C_FLAGS when
|
||||
# the compile test passes. Caches $c_flag in $AOM_FAILED_C_FLAGS when the test
|
||||
# fails.
|
||||
function (add_c_flag_if_supported c_flag)
|
||||
unset(C_FLAG_FOUND CACHE)
|
||||
string(FIND "${CMAKE_C_FLAGS}" "${c_flag}" C_FLAG_FOUND)
|
||||
unset(C_FLAG_FAILED CACHE)
|
||||
string(FIND "${AOM_FAILED_C_FLAGS}" "${c_flag}" C_FLAG_FAILED)
|
||||
|
||||
if (${C_FLAG_FOUND} EQUAL -1 AND ${C_FLAG_FAILED} EQUAL -1)
|
||||
unset(C_FLAG_SUPPORTED CACHE)
|
||||
message("Checking C compiler flag support for: " ${c_flag})
|
||||
check_c_compiler_flag("${c_flag}" C_FLAG_SUPPORTED)
|
||||
if (C_FLAG_SUPPORTED)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${c_flag}" CACHE STRING "" FORCE)
|
||||
else ()
|
||||
set(AOM_FAILED_C_FLAGS "${AOM_FAILED_C_FLAGS} ${c_flag}" CACHE STRING ""
|
||||
FORCE)
|
||||
endif ()
|
||||
# Sets variable named by $out_is_present to YES in the caller's scope when $flag
|
||||
# is found in the string variable named by $flag_cache. Sets the var to NO
|
||||
# otherwise.
|
||||
function(is_flag_present flag_cache flag out_is_present)
|
||||
string(FIND "${${flag_cache}}" "${flag}" flag_pos)
|
||||
if (${flag_pos} EQUAL -1)
|
||||
set(${out_is_present} NO PARENT_SCOPE)
|
||||
else ()
|
||||
set(${out_is_present} YES PARENT_SCOPE)
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Checks C++ compiler for support of $cxx_flag. Adds $cxx_flag to
|
||||
# $CMAKE_CXX_FLAGS when the compile test passes. Caches $c_flag in
|
||||
# $AOM_FAILED_CXX_FLAGS when the test fails.
|
||||
function (add_cxx_flag_if_supported cxx_flag)
|
||||
unset(CXX_FLAG_FOUND CACHE)
|
||||
string(FIND "${CMAKE_CXX_FLAGS}" "${cxx_flag}" CXX_FLAG_FOUND)
|
||||
unset(CXX_FLAG_FAILED CACHE)
|
||||
string(FIND "${AOM_FAILED_CXX_FLAGS}" "${cxx_flag}" CXX_FLAG_FAILED)
|
||||
# Appends $flag to $flags. Ignores scope via use of FORCE with set() call.
|
||||
function (append_flag flags flag)
|
||||
string(FIND "${${flags}}" "${flag}" found)
|
||||
if (${found} EQUAL -1)
|
||||
set(${flags} "${${flags}} ${flag}" CACHE STRING "" FORCE)
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
if (${CXX_FLAG_FOUND} EQUAL -1 AND ${CXX_FLAG_FAILED} EQUAL -1)
|
||||
unset(CXX_FLAG_SUPPORTED CACHE)
|
||||
message("Checking CXX compiler flag support for: " ${cxx_flag})
|
||||
check_cxx_compiler_flag("${cxx_flag}" CXX_FLAG_SUPPORTED)
|
||||
if (CXX_FLAG_SUPPORTED)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${cxx_flag}" CACHE STRING ""
|
||||
FORCE)
|
||||
else()
|
||||
set(AOM_FAILED_CXX_FLAGS "${AOM_FAILED_CXX_FLAGS} ${cxx_flag}" CACHE
|
||||
STRING "" FORCE)
|
||||
endif ()
|
||||
# Checks C compiler for support of $c_flag. Adds $c_flag to all
|
||||
# $CMAKE_C_FLAGS_<CONFIG>s stored in AOM_C_CONFIGS when the compile test passes.
|
||||
# Caches $c_flag in $AOM_C_FLAGS or $AOM_FAILED_C_FLAGS depending on test
|
||||
# outcome.
|
||||
function (add_c_flag_if_supported c_flag)
|
||||
if (DEBUG_CMAKE_DISABLE_COMPILER_TESTS)
|
||||
return()
|
||||
endif ()
|
||||
|
||||
is_flag_present(AOM_C_FLAGS "${c_flag}" flag_ok)
|
||||
is_flag_present(AOM_FAILED_C_FLAGS "${c_flag}" flag_failed)
|
||||
if (${flag_ok} OR ${flag_failed})
|
||||
return ()
|
||||
endif ()
|
||||
|
||||
unset(C_FLAG_SUPPORTED CACHE)
|
||||
message("Checking C compiler flag support for: " ${c_flag})
|
||||
check_c_compiler_flag("${c_flag}" C_FLAG_SUPPORTED)
|
||||
|
||||
if (${C_FLAG_SUPPORTED})
|
||||
append_flag(AOM_C_FLAGS "${c_flag}")
|
||||
foreach (config ${AOM_C_CONFIGS})
|
||||
unset(C_FLAG_FOUND)
|
||||
append_flag("${config}" "${c_flag}")
|
||||
endforeach ()
|
||||
else ()
|
||||
append_flag(AOM_FAILED_C_FLAGS "${c_flag}")
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Checks C++ compiler for support of $cxx_flag. Adds $cxx_flag to all
|
||||
# $CMAKE_CXX_FLAGS_<CONFIG>s stored in AOM_CXX_CONFIGS when the compile test
|
||||
# passes.
|
||||
# Caches $cxx_flag in $AOM_CXX_FLAGS or $AOM_FAILED_CXX_FLAGS depending on test
|
||||
# outcome.
|
||||
function (add_cxx_flag_if_supported cxx_flag)
|
||||
if (DEBUG_CMAKE_DISABLE_COMPILER_TESTS)
|
||||
return()
|
||||
endif ()
|
||||
|
||||
is_flag_present(AOM_CXX_FLAGS "${cxx_flag}" flag_ok)
|
||||
is_flag_present(AOM_FAILED_CXX_FLAGS "${cxx_flag}" flag_failed)
|
||||
if (${flag_ok} OR ${flag_failed})
|
||||
return ()
|
||||
endif ()
|
||||
|
||||
unset(CXX_FLAG_SUPPORTED CACHE)
|
||||
message("Checking C++ compiler flag support for: " ${cxx_flag})
|
||||
check_cxx_compiler_flag("${cxx_flag}" CXX_FLAG_SUPPORTED)
|
||||
|
||||
if (${CXX_FLAG_SUPPORTED})
|
||||
append_flag(AOM_CXX_FLAGS "${cxx_flag}")
|
||||
foreach (config ${AOM_CXX_CONFIGS})
|
||||
unset(CXX_FLAG_FOUND)
|
||||
append_flag("${config}" "${cxx_flag}")
|
||||
endforeach ()
|
||||
else ()
|
||||
append_flag(AOM_FAILED_CXX_FLAGS "${cxx_flag}")
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
|
|
@ -73,47 +113,78 @@ endfunction ()
|
|||
# Checks C compiler for support of $c_flag and terminates generation when
|
||||
# support is not present.
|
||||
function (require_c_flag c_flag update_c_flags)
|
||||
unset(C_FLAG_FOUND CACHE)
|
||||
string(FIND "${CMAKE_C_FLAGS}" "${c_flag}" C_FLAG_FOUND)
|
||||
if (DEBUG_CMAKE_DISABLE_COMPILER_TESTS)
|
||||
return()
|
||||
endif ()
|
||||
|
||||
if (${C_FLAG_FOUND} EQUAL -1)
|
||||
unset(HAVE_C_FLAG CACHE)
|
||||
message("Checking C compiler flag support for: " ${c_flag})
|
||||
check_c_compiler_flag("${c_flag}" HAVE_C_FLAG)
|
||||
if (NOT HAVE_C_FLAG)
|
||||
message(FATAL_ERROR
|
||||
"${PROJECT_NAME} requires support for C flag: ${c_flag}.")
|
||||
endif ()
|
||||
if (update_c_flags)
|
||||
set(CMAKE_C_FLAGS "${c_flag} ${CMAKE_C_FLAGS}" CACHE STRING "" FORCE)
|
||||
endif ()
|
||||
is_flag_present(AOM_C_FLAGS "${c_flag}" flag_ok)
|
||||
if (${flag_ok})
|
||||
return ()
|
||||
endif ()
|
||||
|
||||
if (NOT "${AOM_EXE_LINKER_FLAGS}" STREQUAL "")
|
||||
aom_push_var(CMAKE_EXE_LINKER_FLAGS "${AOM_EXE_LINKER_FLAGS}")
|
||||
endif ()
|
||||
|
||||
unset(HAVE_C_FLAG CACHE)
|
||||
message("Checking C compiler flag support for: " ${c_flag})
|
||||
check_c_compiler_flag("${c_flag}" HAVE_C_FLAG)
|
||||
if (NOT HAVE_C_FLAG)
|
||||
message(FATAL_ERROR
|
||||
"${PROJECT_NAME} requires support for C flag: ${c_flag}.")
|
||||
endif ()
|
||||
|
||||
if (NOT "${AOM_EXE_LINKER_FLAGS}" STREQUAL "")
|
||||
aom_pop_var(CMAKE_EXE_LINKER_FLAGS)
|
||||
endif ()
|
||||
|
||||
append_flag(AOM_C_FLAGS "${c_flag}")
|
||||
if (update_c_flags)
|
||||
foreach (config ${AOM_C_CONFIGS})
|
||||
set(${config} "${${config}} ${c_flag}" CACHE STRING "" FORCE)
|
||||
endforeach ()
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Checks CXX compiler for support of $cxx_flag and terminates generation when
|
||||
# support is not present.
|
||||
function (require_cxx_flag cxx_flag update_cxx_flags)
|
||||
unset(CXX_FLAG_FOUND CACHE)
|
||||
string(FIND "${CMAKE_CXX_FLAGS}" "${cxx_flag}" CXX_FLAG_FOUND)
|
||||
if (DEBUG_CMAKE_DISABLE_COMPILER_TESTS)
|
||||
return()
|
||||
endif ()
|
||||
|
||||
if (${CXX_FLAG_FOUND} EQUAL -1)
|
||||
unset(HAVE_CXX_FLAG CACHE)
|
||||
message("Checking CXX compiler flag support for: " ${cxx_flag})
|
||||
check_cxx_compiler_flag("${cxx_flag}" HAVE_CXX_FLAG)
|
||||
if (NOT HAVE_CXX_FLAG)
|
||||
message(FATAL_ERROR
|
||||
"${PROJECT_NAME} requires support for CXX flag: ${cxx_flag}.")
|
||||
endif ()
|
||||
if (update_cxx_flags)
|
||||
set(CMAKE_CXX_FLAGS "${cxx_flag} ${CMAKE_CXX_FLAGS}" CACHE STRING ""
|
||||
FORCE)
|
||||
endif ()
|
||||
is_flag_present(AOM_CXX_FLAGS "${cxx_flag}" flag_ok)
|
||||
if (${flag_ok})
|
||||
return ()
|
||||
endif ()
|
||||
|
||||
if (NOT "${AOM_EXE_LINKER_FLAGS}" STREQUAL "")
|
||||
aom_push_var(CMAKE_EXE_LINKER_FLAGS "${AOM_EXE_LINKER_FLAGS}")
|
||||
endif ()
|
||||
|
||||
unset(HAVE_CXX_FLAG CACHE)
|
||||
message("Checking C compiler flag support for: " ${cxx_flag})
|
||||
check_cxx_compiler_flag("${cxx_flag}" HAVE_CXX_FLAG)
|
||||
if (NOT HAVE_CXX_FLAG)
|
||||
message(FATAL_ERROR
|
||||
"${PROJECT_NAME} requires support for C flag: ${cxx_flag}.")
|
||||
endif ()
|
||||
|
||||
if (NOT "${AOM_EXE_LINKER_FLAGS}" STREQUAL "")
|
||||
aom_pop_var(CMAKE_EXE_LINKER_FLAGS)
|
||||
endif ()
|
||||
|
||||
append_flag(AOM_CXX_FLAGS "${cxx_flag}")
|
||||
if (update_cxx_flags)
|
||||
foreach (config ${AOM_CXX_CONFIGS})
|
||||
set(${config} "${${config}} ${cxx_flag}" CACHE STRING "" FORCE)
|
||||
endforeach ()
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Checks for support of $flag by both the C and CXX compilers. Terminates
|
||||
# generation when support is not present in both compilers.
|
||||
function (require_flag flag update_cmake_flags)
|
||||
function (require_compiler_flag flag update_cmake_flags)
|
||||
require_c_flag(${flag} ${update_cmake_flags})
|
||||
require_cxx_flag(${flag} ${update_cmake_flags})
|
||||
endfunction ()
|
||||
|
|
@ -137,7 +208,7 @@ endfunction ()
|
|||
# Checks only non-MSVC targets for support of $flag by both the C and CXX
|
||||
# compilers. Terminates generation when support is not present in both
|
||||
# compilers.
|
||||
function (require_flag_nomsvc flag update_cmake_flags)
|
||||
function (require_compiler_flag_nomsvc flag update_cmake_flags)
|
||||
require_c_flag_nomsvc(${flag} ${update_cmake_flags})
|
||||
require_cxx_flag_nomsvc(${flag} ${update_cmake_flags})
|
||||
endfunction ()
|
||||
|
|
@ -145,25 +216,29 @@ endfunction ()
|
|||
# Adds $preproc_def to C compiler command line (as -D$preproc_def) if not
|
||||
# already present.
|
||||
function (add_c_preproc_definition preproc_def)
|
||||
unset(PREPROC_DEF_FOUND CACHE)
|
||||
string(FIND "${CMAKE_C_FLAGS}" "${preproc_def}" PREPROC_DEF_FOUND)
|
||||
|
||||
if (${PREPROC_DEF_FOUND} EQUAL -1)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D${preproc_def}" CACHE STRING ""
|
||||
FORCE)
|
||||
set(preproc_def "-D${preproc_def}")
|
||||
is_flag_present(AOM_C_FLAGS "${preproc_def}" flag_cached)
|
||||
if (${flag_cached})
|
||||
return ()
|
||||
endif ()
|
||||
|
||||
foreach (config ${AOM_C_CONFIGS})
|
||||
set(${config} "${${config}} ${preproc_def}" CACHE STRING "" FORCE)
|
||||
endforeach ()
|
||||
endfunction ()
|
||||
|
||||
# Adds $preproc_def to CXX compiler command line (as -D$preproc_def) if not
|
||||
# already present.
|
||||
function (add_cxx_preproc_definition preproc_def)
|
||||
unset(PREPROC_DEF_FOUND CACHE)
|
||||
string(FIND "${CMAKE_CXX_FLAGS}" "${preproc_def}" PREPROC_DEF_FOUND)
|
||||
|
||||
if (${PREPROC_DEF_FOUND} EQUAL -1)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D${preproc_def}" CACHE STRING ""
|
||||
FORCE)
|
||||
set(preproc_def "-D${preproc_def}")
|
||||
is_flag_present(AOM_CXX_FLAGS "${preproc_def}" flag_cached)
|
||||
if (${flag_cached})
|
||||
return ()
|
||||
endif ()
|
||||
|
||||
foreach (config ${AOM_CXX_CONFIGS})
|
||||
set(${config} "${${config}} ${preproc_def}" CACHE STRING "" FORCE)
|
||||
endforeach ()
|
||||
endfunction ()
|
||||
|
||||
# Adds $preproc_def to C and CXX compiler command line (as -D$preproc_def) if
|
||||
|
|
@ -175,32 +250,35 @@ endfunction ()
|
|||
|
||||
# Adds $flag to assembler command line.
|
||||
function (append_as_flag flag)
|
||||
unset(AS_FLAG_FOUND CACHE)
|
||||
string(FIND "${AOM_AS_FLAGS}" "${flag}" AS_FLAG_FOUND)
|
||||
|
||||
if (${AS_FLAG_FOUND} EQUAL -1)
|
||||
set(AOM_AS_FLAGS "${AOM_AS_FLAGS} ${flag}" CACHE STRING "" FORCE)
|
||||
is_flag_present(AOM_AS_FLAGS "${flag}" flag_cached)
|
||||
if (${flag_cached})
|
||||
return ()
|
||||
endif ()
|
||||
append_flag(AOM_AS_FLAGS "${flag}")
|
||||
endfunction ()
|
||||
|
||||
# Adds $flag to the C compiler command line.
|
||||
function (append_c_flag flag)
|
||||
unset(C_FLAG_FOUND CACHE)
|
||||
string(FIND "${CMAKE_C_FLAGS}" "${flag}" C_FLAG_FOUND)
|
||||
|
||||
if (${C_FLAG_FOUND} EQUAL -1)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}" CACHE STRING "" FORCE)
|
||||
is_flag_present(AOM_C_FLAGS "${flag}" flag_cached)
|
||||
if (${flag_cached})
|
||||
return ()
|
||||
endif ()
|
||||
|
||||
foreach (config ${AOM_C_CONFIGS})
|
||||
append_flag(${config} "${flag}")
|
||||
endforeach ()
|
||||
endfunction ()
|
||||
|
||||
# Adds $flag to the CXX compiler command line.
|
||||
function (append_cxx_flag flag)
|
||||
unset(CXX_FLAG_FOUND CACHE)
|
||||
string(FIND "${CMAKE_CXX_FLAGS}" "${flag}" CXX_FLAG_FOUND)
|
||||
|
||||
if (${CXX_FLAG_FOUND} EQUAL -1)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}" CACHE STRING "" FORCE)
|
||||
is_flag_present(AOM_CXX_FLAGS "${flag}" flag_cached)
|
||||
if (${flag_cached})
|
||||
return ()
|
||||
endif ()
|
||||
|
||||
foreach (config ${AOM_CXX_CONFIGS})
|
||||
append_flag(${config} "${flag}")
|
||||
endforeach ()
|
||||
endfunction ()
|
||||
|
||||
# Adds $flag to the C and CXX compiler command lines.
|
||||
|
|
@ -209,30 +287,29 @@ function (append_compiler_flag flag)
|
|||
append_cxx_flag(${flag})
|
||||
endfunction ()
|
||||
|
||||
# Adds $flag to the executable linker command line.
|
||||
# Adds $flag to the executable linker command line when not present.
|
||||
function (append_exe_linker_flag flag)
|
||||
unset(LINKER_FLAG_FOUND CACHE)
|
||||
string(FIND "${CMAKE_EXE_LINKER_FLAGS}" "${flag}" LINKER_FLAG_FOUND)
|
||||
|
||||
if (${LINKER_FLAG_FOUND} EQUAL -1)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${flag}" CACHE STRING
|
||||
"" FORCE)
|
||||
is_flag_present(AOM_EXE_LINKER_FLAGS "${flag}" flag_cached)
|
||||
if (${flag_cached})
|
||||
return()
|
||||
endif ()
|
||||
|
||||
append_flag(AOM_EXE_LINKER_FLAGS "${flag}")
|
||||
foreach (config ${AOM_EXE_LINKER_CONFIGS})
|
||||
append_flag(${config} "${flag}")
|
||||
endforeach ()
|
||||
endfunction ()
|
||||
|
||||
# Adds $flag to the link flags for $target.
|
||||
function (append_link_flag_to_target target flags)
|
||||
function (append_link_flag_to_target target flag)
|
||||
unset(target_link_flags)
|
||||
get_target_property(target_link_flags ${target} LINK_FLAGS)
|
||||
|
||||
if (target_link_flags)
|
||||
unset(link_flag_found)
|
||||
string(FIND "${target_link_flags}" "${flags}" link_flag_found)
|
||||
|
||||
if (NOT ${link_flag_found} EQUAL -1)
|
||||
is_flag_present(target_link_flags "${flag}" flag_found)
|
||||
if (${flag_found})
|
||||
return()
|
||||
endif ()
|
||||
|
||||
set(target_link_flags "${target_link_flags} ${flags}")
|
||||
else ()
|
||||
set(target_link_flags "${flags}")
|
||||
|
|
@ -241,4 +318,55 @@ function (append_link_flag_to_target target flags)
|
|||
set_target_properties(${target} PROPERTIES LINK_FLAGS ${target_link_flags})
|
||||
endfunction ()
|
||||
|
||||
# Adds $flag to executable linker flags, and makes sure C/CXX builds still work.
|
||||
function (require_linker_flag flag)
|
||||
if (DEBUG_CMAKE_DISABLE_COMPILER_TESTS)
|
||||
return()
|
||||
endif ()
|
||||
|
||||
append_exe_linker_flag(${flag})
|
||||
|
||||
unset(c_passed)
|
||||
aom_check_c_compiles("LINKER_FLAG_C_TEST(${flag})" "" c_passed)
|
||||
unset(cxx_passed)
|
||||
aom_check_cxx_compiles("LINKER_FLAG_CXX_TEST(${flag})" "" cxx_passed)
|
||||
|
||||
if (NOT c_passed OR NOT cxx_passed)
|
||||
message(FATAL_ERROR "Linker flag test for ${flag} failed.")
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Appends flags in $AOM_EXTRA_<TYPE>_FLAGS variables to the flags used at build
|
||||
# time.
|
||||
function (set_user_flags)
|
||||
# Linker flags are handled first because some C/CXX flags require that a
|
||||
# linker flag is present at link time.
|
||||
if (AOM_EXTRA_EXE_LINKER_FLAGS)
|
||||
is_flag_present(AOM_EXE_LINKER_FLAGS "${AOM_EXTRA_EXE_LINKER_FLAGS}"
|
||||
extra_present)
|
||||
if (NOT ${extra_present})
|
||||
require_linker_flag("${AOM_EXTRA_EXE_LINKER_FLAGS}")
|
||||
endif ()
|
||||
endif ()
|
||||
if (AOM_EXTRA_AS_FLAGS)
|
||||
# TODO(tomfinegan): assembler flag testing would be a good thing to have.
|
||||
is_flag_present(AOM_AS_FLAGS "${AOM_EXTRA_AS_FLAGS}" extra_present)
|
||||
if (NOT ${extra_present})
|
||||
append_flag(AOM_AS_FLAGS "${AOM_EXTRA_AS_FLAGS}")
|
||||
endif ()
|
||||
endif ()
|
||||
if (AOM_EXTRA_C_FLAGS)
|
||||
is_flag_present(AOM_C_FLAGS "${AOM_EXTRA_C_FLAGS}" extra_present)
|
||||
if (NOT ${extra_present})
|
||||
require_c_flag("${AOM_EXTRA_C_FLAGS}" YES)
|
||||
endif ()
|
||||
endif ()
|
||||
if (AOM_EXTRA_CXX_FLAGS)
|
||||
is_flag_present(AOM_CXX_FLAGS "${AOM_EXTRA_CXX_FLAGS}" extra_present)
|
||||
if (NOT ${extra_present})
|
||||
require_cxx_flag("${AOM_EXTRA_CXX_FLAGS}" YES)
|
||||
endif ()
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_COMPILER_FLAGS_CMAKE_
|
||||
|
|
|
|||
46
third_party/aom/build/cmake/compiler_tests.cmake
vendored
46
third_party/aom/build/cmake/compiler_tests.cmake
vendored
|
|
@ -14,6 +14,34 @@ set(AOM_BUILD_CMAKE_COMPILER_TESTS_CMAKE_ 1)
|
|||
include(CheckCSourceCompiles)
|
||||
include(CheckCXXSourceCompiles)
|
||||
|
||||
# CMake passes command line flags like this:
|
||||
# $compiler $lang_flags $lang_flags_config ...
|
||||
# To ensure the flags tested here and elsewhere are obeyed a list of active
|
||||
# build configuration types is built, and flags are applied to the flag strings
|
||||
# for each configuration currently active for C and CXX builds as determined by
|
||||
# reading $CMAKE_CONFIGURATION_TYPES and $CMAKE_BUILD_TYPE. When
|
||||
# $CMAKE_CONFIGURATION_TYPES is non-empty a multi-configuration generator is in
|
||||
# use: currently this includes MSVC and Xcode. For other generators
|
||||
# $CMAKE_BUILD_TYPE is used. For both cases AOM_<LANG>_CONFIGS is populated with
|
||||
# CMake string variable names that contain flags for the currently available
|
||||
# configuration(s).
|
||||
unset(AOM_C_CONFIGS)
|
||||
unset(AOM_CXX_CONFIGS)
|
||||
list(LENGTH CMAKE_CONFIGURATION_TYPES num_configs)
|
||||
if (${num_configs} GREATER 0)
|
||||
foreach (config ${CMAKE_CONFIGURATION_TYPES})
|
||||
string(TOUPPER ${config} config)
|
||||
list(APPEND AOM_C_CONFIGS "CMAKE_C_FLAGS_${config}")
|
||||
list(APPEND AOM_CXX_CONFIGS "CMAKE_CXX_FLAGS_${config}")
|
||||
list(APPEND AOM_EXE_LINKER_CONFIGS "CMAKE_EXE_LINKER_FLAGS_${config}")
|
||||
endforeach ()
|
||||
else ()
|
||||
string(TOUPPER ${CMAKE_BUILD_TYPE} config)
|
||||
set(AOM_C_CONFIGS "CMAKE_C_FLAGS_${config}")
|
||||
set(AOM_CXX_CONFIGS "CMAKE_CXX_FLAGS_${config}")
|
||||
set(AOM_EXE_LINKER_CONFIGS "CMAKE_EXE_LINKER_FLAGS_${config}")
|
||||
endif ()
|
||||
|
||||
# The basic main() function used in all compile tests.
|
||||
set(AOM_C_MAIN "\nint main(void) { return 0; }")
|
||||
set(AOM_CXX_MAIN "\nint main() { return 0; }")
|
||||
|
|
@ -25,8 +53,8 @@ set(AOM_CXX_PASSED_TESTS)
|
|||
set(AOM_CXX_FAILED_TESTS)
|
||||
|
||||
function(aom_push_var var new_value)
|
||||
set(SAVED_${var} ${var} PARENT_SCOPE)
|
||||
set(${var} ${new_value} PARENT_SCOPE)
|
||||
set(SAVED_${var} ${${var}} PARENT_SCOPE)
|
||||
set(${var} "${${var}} ${new_value}" PARENT_SCOPE)
|
||||
endfunction ()
|
||||
|
||||
function(aom_pop_var var)
|
||||
|
|
@ -40,6 +68,10 @@ endfunction ()
|
|||
# The test is not run if the test name is found in either of the passed or
|
||||
# failed test variables.
|
||||
function(aom_check_c_compiles test_name test_source result_var)
|
||||
if (DEBUG_CMAKE_DISABLE_COMPILER_TESTS)
|
||||
return()
|
||||
endif ()
|
||||
|
||||
unset(C_TEST_PASSED CACHE)
|
||||
unset(C_TEST_FAILED CACHE)
|
||||
string(FIND "${AOM_C_PASSED_TESTS}" "${test_name}" C_TEST_PASSED)
|
||||
|
|
@ -71,6 +103,10 @@ endfunction ()
|
|||
# The test is not run if the test name is found in either of the passed or
|
||||
# failed test variables.
|
||||
function(aom_check_cxx_compiles test_name test_source result_var)
|
||||
if (DEBUG_CMAKE_DISABLE_COMPILER_TESTS)
|
||||
return()
|
||||
endif ()
|
||||
|
||||
unset(CXX_TEST_PASSED CACHE)
|
||||
unset(CXX_TEST_FAILED CACHE)
|
||||
string(FIND "${AOM_CXX_PASSED_TESTS}" "${test_name}" CXX_TEST_PASSED)
|
||||
|
|
@ -100,9 +136,9 @@ endfunction ()
|
|||
# Convenience function that confirms $test_source compiles as C and C++.
|
||||
# $result_var is set to 1 when both tests are successful, and 0 when one or both
|
||||
# tests fail.
|
||||
# Note: This function is intended to be used to write to result variables that are
|
||||
# expanded via configure_file(). $result_var is set to 1 or 0 to allow direct
|
||||
# usage of the value in generated source files.
|
||||
# Note: This function is intended to be used to write to result variables that
|
||||
# are expanded via configure_file(). $result_var is set to 1 or 0 to allow
|
||||
# direct usage of the value in generated source files.
|
||||
function(aom_check_source_compiles test_name test_source result_var)
|
||||
unset(C_PASSED)
|
||||
unset(CXX_PASSED)
|
||||
|
|
|
|||
32
third_party/aom/build/cmake/dist.cmake
vendored
32
third_party/aom/build/cmake/dist.cmake
vendored
|
|
@ -17,8 +17,8 @@ function (listify_string in_string out_string)
|
|||
set(${out_string} "${${out_string}}" PARENT_SCOPE)
|
||||
endfunction ()
|
||||
|
||||
set(REQUIRED_ARGS "AOM_ROOT" "AOM_CONFIG_DIR" "AOM_DIST_DIR" "AOM_DIST_EXAMPLES"
|
||||
"AOM_DIST_APPS" "AOM_DIST_INCLUDES" "AOM_DIST_LIBS" "ENABLE_DOCS")
|
||||
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 "")
|
||||
|
|
@ -30,15 +30,27 @@ if (ENABLE_DOCS)
|
|||
file(INSTALL "${AOM_CONFIG_DIR}/docs" DESTINATION "${AOM_DIST_DIR}")
|
||||
endif ()
|
||||
|
||||
listify_string("${AOM_DIST_EXAMPLES}" "AOM_DIST_EXAMPLES")
|
||||
foreach (example ${AOM_DIST_EXAMPLES})
|
||||
file(INSTALL "${example}" DESTINATION "${AOM_DIST_DIR}/bin/examples")
|
||||
endforeach ()
|
||||
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 ()
|
||||
|
||||
listify_string("${AOM_DIST_APPS}" "AOM_DIST_APPS")
|
||||
foreach (app ${AOM_DIST_APPS})
|
||||
file(INSTALL "${app}" DESTINATION "${AOM_DIST_DIR}/bin")
|
||||
endforeach ()
|
||||
if (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})
|
||||
|
|
|
|||
57
third_party/aom/build/cmake/pkg_config.cmake
vendored
Normal file
57
third_party/aom/build/cmake/pkg_config.cmake
vendored
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
##
|
||||
## 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)
|
||||
|
||||
set(REQUIRED_ARGS
|
||||
"AOM_ROOT" "AOM_CONFIG_DIR" "CMAKE_INSTALL_PREFIX" "CMAKE_PROJECT_NAME"
|
||||
"CONFIG_MULTITHREAD" "HAVE_PTHREAD_H")
|
||||
|
||||
foreach (arg ${REQUIRED_ARGS})
|
||||
if ("${${arg}}" STREQUAL "")
|
||||
message(FATAL_ERROR "${arg} must not be empty.")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
include("${AOM_ROOT}/build/cmake/util.cmake")
|
||||
|
||||
extract_version_string("${AOM_CONFIG_DIR}/aom_version.h" aom_version)
|
||||
|
||||
# Create a version string suitable for comparison using the RPM version compare
|
||||
# algorithm: strip out everything after the number.
|
||||
string(FIND "${aom_version}" "-" dash_pos)
|
||||
if (${dash_pos} EQUAL -1)
|
||||
set(package_version "${aom_version}")
|
||||
else ()
|
||||
string(SUBSTRING "${aom_version}" 0 ${dash_pos} package_version)
|
||||
endif ()
|
||||
|
||||
# Write pkg-config info.
|
||||
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||
set(pkgconfig_file "${AOM_CONFIG_DIR}/aom.pc")
|
||||
string(TOLOWER ${CMAKE_PROJECT_NAME} pkg_name)
|
||||
file(WRITE "${pkgconfig_file}" "# libaom pkg-config.\n")
|
||||
file(APPEND "${pkgconfig_file}" "prefix=${prefix}\n")
|
||||
file(APPEND "${pkgconfig_file}" "exec_prefix=${prefix}/bin\n")
|
||||
file(APPEND "${pkgconfig_file}" "libdir=${prefix}/lib\n")
|
||||
file(APPEND "${pkgconfig_file}" "includedir=${prefix}/include\n\n")
|
||||
file(APPEND "${pkgconfig_file}" "Name: ${pkg_name}\n")
|
||||
file(APPEND "${pkgconfig_file}"
|
||||
"Description: AV1 codec library v${aom_version}.\n")
|
||||
file(APPEND "${pkgconfig_file}" "Version: ${package_version}\n")
|
||||
file(APPEND "${pkgconfig_file}" "Requires:\n")
|
||||
file(APPEND "${pkgconfig_file}" "Conflicts:\n")
|
||||
file(APPEND "${pkgconfig_file}" "Libs: -L${prefix}/lib -l${pkg_name} -lm\n")
|
||||
if (CONFIG_MULTITHREAD AND HAVE_PTHREAD_H)
|
||||
file(APPEND "${pkgconfig_file}" "Libs.private: -lm -lpthread\n")
|
||||
else ()
|
||||
file(APPEND "${pkgconfig_file}" "Libs.private: -lm\n")
|
||||
endif ()
|
||||
file(APPEND "${pkgconfig_file}" "Cflags: -I${prefix}/include\n")
|
||||
29
third_party/aom/build/cmake/sanitizers.cmake
vendored
Normal file
29
third_party/aom/build/cmake/sanitizers.cmake
vendored
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
##
|
||||
## 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.
|
||||
##
|
||||
if (NOT AOM_BUILD_CMAKE_SANITIZERS_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_SANITIZERS_CMAKE_ 1)
|
||||
|
||||
if (MSVC OR NOT SANITIZE)
|
||||
return ()
|
||||
endif ()
|
||||
|
||||
include("${AOM_ROOT}/build/cmake/compiler_flags.cmake")
|
||||
|
||||
string(TOLOWER ${SANITIZE} SANITIZE)
|
||||
|
||||
# Require the sanitizer requested.
|
||||
require_linker_flag("-fsanitize=${SANITIZE}")
|
||||
require_compiler_flag("-fsanitize=${SANITIZE}" YES)
|
||||
|
||||
# Make callstacks accurate.
|
||||
require_compiler_flag("-fno-omit-frame-pointer -fno-optimize-sibling-calls" YES)
|
||||
|
||||
endif() # AOM_BUILD_CMAKE_SANITIZERS_CMAKE_
|
||||
|
|
@ -66,6 +66,10 @@ set(CMAKE_CXX_COMPILER_ARG1 "-EL ${MIPS_CXXFLAGS}")
|
|||
set(CMAKE_SYSTEM_PROCESSOR "mips32")
|
||||
|
||||
# No runtime cpu detect for mips32-linux-gcc.
|
||||
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE NUMBER "")
|
||||
if (CONFIG_RUNTIME_CPU_DETECT)
|
||||
message("--- CONFIG_RUNTIME_CPU_DETECT not supported for mips32 targets.")
|
||||
endif ()
|
||||
|
||||
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE NUMBER "" FORCE)
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_MIPS32_LINUX_GCC_CMAKE_
|
||||
|
|
|
|||
|
|
@ -43,6 +43,10 @@ set(CMAKE_CXX_COMPILER_ARG1 "-EL ${MIPS_CXXFLAGS}")
|
|||
set(CMAKE_SYSTEM_PROCESSOR "mips64")
|
||||
|
||||
# No runtime cpu detect for mips64-linux-gcc.
|
||||
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE NUMBER "")
|
||||
if (CONFIG_RUNTIME_CPU_DETECT)
|
||||
message("--- CONFIG_RUNTIME_CPU_DETECT not supported for mips64 targets.")
|
||||
endif ()
|
||||
|
||||
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE NUMBER "" FORCE)
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_MIPS64_LINUX_GCC_CMAKE_
|
||||
|
|
|
|||
|
|
@ -8,7 +8,12 @@
|
|||
## 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.
|
||||
##
|
||||
if (NOT AOM_BUILD_CMAKE_TOOLCHAINS_X86_LINUX_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_TOOLCHAINS_X86_LINUX_CMAKE_ 1)
|
||||
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86")
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_C_COMPILER_ARG1 "-m32")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "-m32")
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_X86_LINUX_CMAKE_
|
||||
|
|
|
|||
29
third_party/aom/build/cmake/toolchains/x86-mingw-gcc.cmake
vendored
Normal file
29
third_party/aom/build/cmake/toolchains/x86-mingw-gcc.cmake
vendored
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
##
|
||||
## 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.
|
||||
##
|
||||
if (NOT AOM_BUILD_CMAKE_TOOLCHAINS_X86_MINGW_GCC_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_TOOLCHAINS_X86_MINGW_GCC_CMAKE_ 1)
|
||||
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86")
|
||||
set(CMAKE_SYSTEM_NAME "Windows")
|
||||
set(CMAKE_C_COMPILER_ARG1 "-m32")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "-m32")
|
||||
|
||||
if ("${CROSS}" STREQUAL "")
|
||||
set(CROSS i686-w64-mingw32-)
|
||||
endif ()
|
||||
|
||||
set(CMAKE_C_COMPILER ${CROSS}gcc)
|
||||
set(CMAKE_CXX_COMPILER ${CROSS}g++)
|
||||
|
||||
# Disable the use of the gtest's CMake support.
|
||||
set(AOM_DISABLE_GTEST_CMAKE 1)
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_X86_MINGW_GCC_CMAKE_
|
||||
27
third_party/aom/build/cmake/toolchains/x86_64-mingw-gcc.cmake
vendored
Normal file
27
third_party/aom/build/cmake/toolchains/x86_64-mingw-gcc.cmake
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
##
|
||||
## 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.
|
||||
##
|
||||
if (NOT AOM_BUILD_CMAKE_TOOLCHAINS_X86_64_MINGW_GCC_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_TOOLCHAINS_X86_64_MINGW_GCC_CMAKE_ 1)
|
||||
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||
set(CMAKE_SYSTEM_NAME "Windows")
|
||||
|
||||
if ("${CROSS}" STREQUAL "")
|
||||
set(CROSS x86_64-w64-mingw32-)
|
||||
endif ()
|
||||
|
||||
set(CMAKE_C_COMPILER ${CROSS}gcc)
|
||||
set(CMAKE_CXX_COMPILER ${CROSS}g++)
|
||||
|
||||
# Disable the use of the gtest's CMake support.
|
||||
set(AOM_DISABLE_GTEST_CMAKE 1)
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_X86_64_MINGW_GCC_CMAKE_
|
||||
56
third_party/aom/build/cmake/util.cmake
vendored
56
third_party/aom/build/cmake/util.cmake
vendored
|
|
@ -11,9 +11,12 @@
|
|||
if (NOT AOM_BUILD_CMAKE_UTIL_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_UTIL_CMAKE_ 1)
|
||||
|
||||
# Creates dummy source file in $AOM_CONFIG_DIR named $basename.$extension and
|
||||
# returns the full path to the dummy source file via the $out_file_path
|
||||
# parameter.
|
||||
function (create_dummy_source_file basename extension out_file_path)
|
||||
set(dummy_source_file "${AOM_CONFIG_DIR}/${basename}.${extension}")
|
||||
file(WRITE "${dummy_source_file}"
|
||||
file(WRITE "${dummy_source_file}"
|
||||
"// Generated file. DO NOT EDIT!\n"
|
||||
"// ${target_name} needs a ${extension} file to force link language, \n"
|
||||
"// or to silence a harmless CMake warning: Ignore me.\n"
|
||||
|
|
@ -21,10 +24,61 @@ function (create_dummy_source_file basename extension out_file_path)
|
|||
set(${out_file_path} ${dummy_source_file} PARENT_SCOPE)
|
||||
endfunction ()
|
||||
|
||||
# Convenience function for adding a dummy source file to $target_name using
|
||||
# $extension as the file extension. Wraps create_dummy_source_file().
|
||||
function (add_dummy_source_file_to_target target_name extension)
|
||||
create_dummy_source_file("${target_name}" "${extension}" "dummy_source_file")
|
||||
target_sources(${target_name} PRIVATE ${dummy_source_file})
|
||||
endfunction ()
|
||||
|
||||
# Sets the value of the variable referenced by $feature to $value, and reports
|
||||
# the change to the user via call to message(WARNING ...). $cause is expected to
|
||||
# be a configuration variable that conflicts with $feature in some way.
|
||||
function (change_config_and_warn feature value cause)
|
||||
set(${feature} ${value} PARENT_SCOPE)
|
||||
if (${value} EQUAL 1)
|
||||
set(verb "Enabled")
|
||||
set(reason "required for")
|
||||
else ()
|
||||
set(verb "Disabled")
|
||||
set(reason "incompatible with")
|
||||
endif ()
|
||||
set(warning_message "${verb} ${feature}, ${reason} ${cause}.")
|
||||
message(WARNING "--- ${warning_message}")
|
||||
endfunction ()
|
||||
|
||||
# Extracts the version string from $version_file and returns it to the user via
|
||||
# $version_string_out_var. To achieve this VERSION_STRING_NOSP is located in
|
||||
# $version_file and then everything but the string literal assigned to the
|
||||
# variable is removed. Quotes and the leading 'v' are stripped from the
|
||||
# returned string.
|
||||
function (extract_version_string version_file version_string_out_var)
|
||||
file(STRINGS "${version_file}" aom_version REGEX "VERSION_STRING_NOSP")
|
||||
string(REPLACE "#define VERSION_STRING_NOSP " "" aom_version
|
||||
"${aom_version}")
|
||||
string(REPLACE "\"" "" aom_version "${aom_version}")
|
||||
string(REPLACE " " "" aom_version "${aom_version}")
|
||||
string(FIND "${aom_version}" "v" v_pos)
|
||||
if (${v_pos} EQUAL 0)
|
||||
string(SUBSTRING "${aom_version}" 1 -1 aom_version)
|
||||
endif ()
|
||||
set("${version_string_out_var}" "${aom_version}" PARENT_SCOPE)
|
||||
endfunction ()
|
||||
|
||||
# Sets CMake compiler launcher to $launcher_name when $launcher_name is found in
|
||||
# $PATH. Warns user about ignoring build flag $launcher_flag when $launcher_name
|
||||
# is not found in $PATH.
|
||||
function (set_compiler_launcher launcher_flag launcher_name)
|
||||
find_program(launcher_path "${launcher_name}")
|
||||
if (launcher_path)
|
||||
set(CMAKE_C_COMPILER_LAUNCHER "${launcher_path}" PARENT_SCOPE)
|
||||
set(CMAKE_CXX_COMPILER_LAUNCHER "${launcher_path}" PARENT_SCOPE)
|
||||
message("--- Using ${launcher_name} as compiler launcher.")
|
||||
else ()
|
||||
message(WARNING
|
||||
"--- Cannot find ${launcher_name}, ${launcher_flag} ignored.")
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
endif() # AOM_BUILD_CMAKE_UTIL_CMAKE_
|
||||
|
||||
|
|
|
|||
55
third_party/aom/build/cmake/version.cmake
vendored
Normal file
55
third_party/aom/build/cmake/version.cmake
vendored
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
##
|
||||
## 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)
|
||||
|
||||
set(REQUIRED_ARGS
|
||||
"AOM_ROOT" "AOM_CONFIG_DIR" "GIT_EXECUTABLE" "PERL_EXECUTABLE")
|
||||
|
||||
foreach (arg ${REQUIRED_ARGS})
|
||||
if ("${${arg}}" STREQUAL "")
|
||||
message(FATAL_ERROR "${arg} must not be empty.")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
include("${AOM_ROOT}/build/cmake/util.cmake")
|
||||
|
||||
# Generate the version string for this run.
|
||||
unset(aom_version)
|
||||
if (EXISTS "${GIT_EXECUTABLE}")
|
||||
execute_process(COMMAND ${GIT_EXECUTABLE} --git-dir=${AOM_ROOT}/.git describe
|
||||
OUTPUT_VARIABLE aom_version ERROR_QUIET)
|
||||
string(STRIP "${aom_version}" aom_version)
|
||||
|
||||
# Remove the leading 'v' from the version string.
|
||||
string(FIND "${aom_version}" "v" v_pos)
|
||||
if (${v_pos} EQUAL 0)
|
||||
string(SUBSTRING "${aom_version}" 1 -1 aom_version)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if ("${aom_version}" STREQUAL "")
|
||||
set(aom_version "${AOM_ROOT}/CHANGELOG")
|
||||
endif ()
|
||||
|
||||
unset(last_aom_version)
|
||||
if (EXISTS "${AOM_CONFIG_DIR}/aom_version.h")
|
||||
extract_version_string("${AOM_CONFIG_DIR}/aom_version.h" last_aom_version)
|
||||
endif ()
|
||||
|
||||
if (NOT "${aom_version}" STREQUAL "${last_aom_version}")
|
||||
# TODO(tomfinegan): Perl dependency is unnecessary. CMake can do everything
|
||||
# that is done by version.pl on its own (if a bit more verbose...).
|
||||
execute_process(
|
||||
COMMAND ${PERL_EXECUTABLE} "${AOM_ROOT}/build/cmake/version.pl"
|
||||
--version_data=${aom_version}
|
||||
--version_filename=${AOM_CONFIG_DIR}/aom_version.h
|
||||
VERBATIM)
|
||||
endif ()
|
||||
|
|
@ -14,6 +14,7 @@ use warnings;
|
|||
use 5.010;
|
||||
use Getopt::Long;
|
||||
|
||||
my $git_desc;
|
||||
my $version_data;
|
||||
my $version_filename;
|
||||
GetOptions('version_data=s' => \$version_data,
|
||||
|
|
@ -27,6 +28,7 @@ if (!defined $version_data || length($version_data) == 0 ||
|
|||
|
||||
# Determine if $version_data is a filename or a git tag/description.
|
||||
my $version_string;
|
||||
chomp($version_data);
|
||||
if (-r $version_data) {
|
||||
# $version_data is the path to the CHANGELOG. Parse the most recent version.
|
||||
my $changelog_filename = $version_data;
|
||||
|
|
@ -45,6 +47,7 @@ if (-r $version_data) {
|
|||
# tagName OR tagName-commitsSinceTag-shortCommitHash
|
||||
# In either case we want the first element of the array returned by split.
|
||||
$version_string = (split("-", $version_data))[0];
|
||||
$git_desc = $version_data;
|
||||
}
|
||||
|
||||
if (substr($version_string, 0, 1) eq "v") {
|
||||
|
|
@ -80,7 +83,19 @@ my $lic_block = << "EOF";
|
|||
EOF
|
||||
|
||||
select $version_file;
|
||||
print << "EOF";
|
||||
if (length($git_desc)) {
|
||||
print << "EOF";
|
||||
$lic_block
|
||||
#define VERSION_MAJOR $version_major
|
||||
#define VERSION_MINOR $version_minor
|
||||
#define VERSION_PATCH $version_patch
|
||||
#define VERSION_EXTRA \"$version_extra\"
|
||||
#define VERSION_PACKED $version_packed
|
||||
#define VERSION_STRING_NOSP \"$git_desc\"
|
||||
#define VERSION_STRING \" $git_desc\"
|
||||
EOF
|
||||
} else {
|
||||
print << "EOF";
|
||||
$lic_block
|
||||
#define VERSION_MAJOR $version_major
|
||||
#define VERSION_MINOR $version_minor
|
||||
|
|
@ -90,4 +105,5 @@ $lic_block
|
|||
#define VERSION_STRING_NOSP \"v$version_string\"
|
||||
#define VERSION_STRING \" v$version_string\"
|
||||
EOF
|
||||
}
|
||||
close($version_file);
|
||||
Loading…
Add table
Add a link
Reference in a new issue