
- Add minimal compiler flag testing. - Generate aom_config.c and aom_config.h. Note: hard coded to generic-gnu values for now. - Still a work in progress. This will not build anything. BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76 Change-Id: Id65b42ea9f4c4f744d788660e2de7234886ce039
57 lines
2.0 KiB
CMake
57 lines
2.0 KiB
CMake
##
|
|
## Copyright (c) 2016, 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.2)
|
|
|
|
include(CheckCCompilerFlag)
|
|
include(CheckCXXCompilerFlag)
|
|
|
|
function (add_c_flag_if_supported c_flag)
|
|
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 "${c_flag} ${CMAKE_C_FLAGS}" CACHE STRING "" FORCE)
|
|
endif ()
|
|
endfunction ()
|
|
|
|
function (add_cxx_flag_if_supported cxx_flag)
|
|
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 "${cxx_flag} ${CMAKE_CXX_FLAGS}" CACHE STRING "" FORCE)
|
|
endif ()
|
|
endfunction ()
|
|
|
|
function (add_compiler_flag_if_supported flag)
|
|
add_c_flag_if_supported(${flag})
|
|
add_cxx_flag_if_supported(${flag})
|
|
endfunction ()
|
|
|
|
# Set warning levels.
|
|
if (MSVC)
|
|
add_compiler_flag_if_supported("/W3")
|
|
# Disable MSVC warnings that suggest making code non-portable.
|
|
add_compiler_flag_if_supported("/wd4996")
|
|
if (ENABLE_WERROR)
|
|
add_compiler_flag_if_supported("/WX")
|
|
endif ()
|
|
else ()
|
|
add_compiler_flag_if_supported("-Wall")
|
|
add_compiler_flag_if_supported("-Wextra")
|
|
add_compiler_flag_if_supported("-Wno-deprecated")
|
|
add_compiler_flag_if_supported("-Wshorten-64-to-32")
|
|
add_compiler_flag_if_supported("-Wnarrowing")
|
|
if (ENABLE_WERROR)
|
|
add_compiler_flag_if_supported("-Werror")
|
|
endif ()
|
|
endif ()
|