blob: 6327beefe82dba8f85c31836dce079be03b3047f [file] [log] [blame]
# Copyright 2019 The libgav1 Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
if(LIBGAV1_CMAKE_LIBGAV1_OPTIONS_CMAKE_)
return()
endif() # LIBGAV1_CMAKE_LIBGAV1_OPTIONS_CMAKE_
set(LIBGAV1_CMAKE_LIBGAV1_OPTIONS_CMAKE_)
# Simple wrapper for CMake's builtin option command that tracks libgav1's build
# options in the list variable $libgav1_options.
macro(libgav1_option)
unset(option_NAME)
unset(option_HELPSTRING)
unset(option_VALUE)
unset(optional_args)
unset(multi_value_args)
set(single_value_args NAME HELPSTRING VALUE)
cmake_parse_arguments(option "${optional_args}" "${single_value_args}"
"${multi_value_args}" ${ARGN})
if(NOT (option_NAME AND option_HELPSTRING AND DEFINED option_VALUE))
message(FATAL_ERROR "libgav1_option: NAME HELPSTRING and VALUE required.")
endif()
option(${option_NAME} ${option_HELPSTRING} ${option_VALUE})
if(LIBGAV1_VERBOSE GREATER 2)
message("--------- libgav1_option ---------\n"
"option_NAME=${option_NAME}\n"
"option_HELPSTRING=${option_HELPSTRING}\n"
"option_VALUE=${option_VALUE}\n"
"------------------------------------------\n")
endif()
list(APPEND libgav1_options ${option_NAME})
list(REMOVE_DUPLICATES libgav1_options)
endmacro()
# Dumps the $libgav1_options list via CMake message command.
macro(libgav1_dump_options)
foreach(option_name ${libgav1_options})
message("${option_name}: ${${option_name}}")
endforeach()
endmacro()