From 0c64532a8c2f4740005c1f9b0729143d424138d0 Mon Sep 17 00:00:00 2001 From: Christian Blichmann Date: Tue, 30 Jul 2019 06:51:15 -0700 Subject: [PATCH] Validate Unix-only compiler flags in CMake build PiperOrigin-RevId: 260706238 Change-Id: I2206f4d724a93de8714aeef521c544b660101d17 --- CMakeLists.txt | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e0b5acc..c000409 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,6 +22,8 @@ set(SAPI_CXX_STANDARD 11) set(SAPI_BINARY_DIR "${PROJECT_BINARY_DIR}" CACHE INTERNAL "" FORCE) set(SAPI_SOURCE_DIR "${PROJECT_SOURCE_DIR}" CACHE INTERNAL "" FORCE) +include(CheckCXXCompilerFlag) + # Sapi CMake modules, order matters list(APPEND CMAKE_MODULE_PATH "${SAPI_SOURCE_DIR}/cmake") include(SapiOptions) @@ -52,12 +54,20 @@ target_include_directories(sapi_base INTERFACE "${SAPI_BINARY_DIR}" "${SAPI_SOURCE_DIR}" "${Protobuf_INCLUDE_DIR}" + # Need to reach into Abseil internal headers from a few targets. + "${CMAKE_BINARY_DIR}/absl-src" ) if(UNIX) - target_compile_options(sapi_base INTERFACE - -Wno-deprecated - -Wno-psabi - ) + foreach(flag IN ITEMS -Wno-deprecated + -Wno-deprecated-declarations + -Wno-psabi) + check_cxx_compiler_flag(${flag} _sapi_has_flag) + if(_sapi_has_flag) + target_compile_options(sapi_base INTERFACE + ${flag} + ) + endif() + endforeach() endif() add_library(sapi_test_main INTERFACE)