1*09537850SAkhilesh Sanikop# Copyright 2019 The libgav1 Authors 2*09537850SAkhilesh Sanikop# 3*09537850SAkhilesh Sanikop# Licensed under the Apache License, Version 2.0 (the "License"); 4*09537850SAkhilesh Sanikop# you may not use this file except in compliance with the License. 5*09537850SAkhilesh Sanikop# You may obtain a copy of the License at 6*09537850SAkhilesh Sanikop# 7*09537850SAkhilesh Sanikop# http://www.apache.org/licenses/LICENSE-2.0 8*09537850SAkhilesh Sanikop# 9*09537850SAkhilesh Sanikop# Unless required by applicable law or agreed to in writing, software 10*09537850SAkhilesh Sanikop# distributed under the License is distributed on an "AS IS" BASIS, 11*09537850SAkhilesh Sanikop# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*09537850SAkhilesh Sanikop# See the License for the specific language governing permissions and 13*09537850SAkhilesh Sanikop# limitations under the License. 14*09537850SAkhilesh Sanikop 15*09537850SAkhilesh Sanikopif(LIBGAV1_CMAKE_LIBGAV1_VARIABLES_CMAKE_) 16*09537850SAkhilesh Sanikop return() 17*09537850SAkhilesh Sanikopendif() # LIBGAV1_CMAKE_LIBGAV1_VARIABLES_CMAKE_ 18*09537850SAkhilesh Sanikopset(LIBGAV1_CMAKE_LIBGAV1_VARIABLES_CMAKE_ 1) 19*09537850SAkhilesh Sanikop 20*09537850SAkhilesh Sanikop# Halts generation when $variable_name does not refer to a directory that 21*09537850SAkhilesh Sanikop# exists. 22*09537850SAkhilesh Sanikopmacro(libgav1_variable_must_be_directory variable_name) 23*09537850SAkhilesh Sanikop if("${variable_name}" STREQUAL "") 24*09537850SAkhilesh Sanikop message( 25*09537850SAkhilesh Sanikop FATAL_ERROR 26*09537850SAkhilesh Sanikop "Empty variable_name passed to libgav1_variable_must_be_directory.") 27*09537850SAkhilesh Sanikop endif() 28*09537850SAkhilesh Sanikop 29*09537850SAkhilesh Sanikop if("${${variable_name}}" STREQUAL "") 30*09537850SAkhilesh Sanikop message( 31*09537850SAkhilesh Sanikop FATAL_ERROR 32*09537850SAkhilesh Sanikop "Empty variable ${variable_name} is required to build libgav1.") 33*09537850SAkhilesh Sanikop endif() 34*09537850SAkhilesh Sanikop 35*09537850SAkhilesh Sanikop if(NOT IS_DIRECTORY "${${variable_name}}") 36*09537850SAkhilesh Sanikop message( 37*09537850SAkhilesh Sanikop FATAL_ERROR 38*09537850SAkhilesh Sanikop "${variable_name}, which is ${${variable_name}}, does not refer to a\n" 39*09537850SAkhilesh Sanikop "directory.") 40*09537850SAkhilesh Sanikop endif() 41*09537850SAkhilesh Sanikopendmacro() 42*09537850SAkhilesh Sanikop 43*09537850SAkhilesh Sanikop# Adds $var_name to the tracked variables list. 44*09537850SAkhilesh Sanikopmacro(libgav1_track_configuration_variable var_name) 45*09537850SAkhilesh Sanikop if(LIBGAV1_VERBOSE GREATER 2) 46*09537850SAkhilesh Sanikop message("---- libgav1_track_configuration_variable ----\n" 47*09537850SAkhilesh Sanikop "var_name=${var_name}\n" 48*09537850SAkhilesh Sanikop "----------------------------------------------\n") 49*09537850SAkhilesh Sanikop endif() 50*09537850SAkhilesh Sanikop 51*09537850SAkhilesh Sanikop list(APPEND libgav1_configuration_variables ${var_name}) 52*09537850SAkhilesh Sanikop list(REMOVE_DUPLICATES libgav1_configuration_variables) 53*09537850SAkhilesh Sanikopendmacro() 54*09537850SAkhilesh Sanikop 55*09537850SAkhilesh Sanikop# Logs current C++ and executable linker flags via CMake's message command. 56*09537850SAkhilesh Sanikopmacro(libgav1_dump_cmake_flag_variables) 57*09537850SAkhilesh Sanikop unset(flag_variables) 58*09537850SAkhilesh Sanikop list(APPEND flag_variables "CMAKE_CXX_FLAGS_INIT" "CMAKE_CXX_FLAGS" 59*09537850SAkhilesh Sanikop "CMAKE_EXE_LINKER_FLAGS_INIT" "CMAKE_EXE_LINKER_FLAGS") 60*09537850SAkhilesh Sanikop if(CMAKE_BUILD_TYPE) 61*09537850SAkhilesh Sanikop list(APPEND flag_variables "CMAKE_BUILD_TYPE" 62*09537850SAkhilesh Sanikop "CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}_INIT" 63*09537850SAkhilesh Sanikop "CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}" 64*09537850SAkhilesh Sanikop "CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE}_INIT" 65*09537850SAkhilesh Sanikop "CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE}") 66*09537850SAkhilesh Sanikop endif() 67*09537850SAkhilesh Sanikop foreach(flag_variable ${flag_variables}) 68*09537850SAkhilesh Sanikop message("${flag_variable}:${${flag_variable}}") 69*09537850SAkhilesh Sanikop endforeach() 70*09537850SAkhilesh Sanikopendmacro() 71*09537850SAkhilesh Sanikop 72*09537850SAkhilesh Sanikop# Dumps the variables tracked in $libgav1_configuration_variables via CMake's 73*09537850SAkhilesh Sanikop# message command. 74*09537850SAkhilesh Sanikopmacro(libgav1_dump_tracked_configuration_variables) 75*09537850SAkhilesh Sanikop foreach(config_variable ${libgav1_configuration_variables}) 76*09537850SAkhilesh Sanikop message("${config_variable}:${${config_variable}}") 77*09537850SAkhilesh Sanikop endforeach() 78*09537850SAkhilesh Sanikopendmacro() 79