2c8421e1c6
-- fcf9d3facb12451964ad1850073cbfb6f9739379 by CJ Johnson <johnsoncj@google.com>: Makes it obvious to readers that the comparison operators do not branch more than needed PiperOrigin-RevId: 240811527 -- 680c586f81f805be68e96caffb28d5f46b6a6511 by Jon Cohen <cohenjon@google.com>: Consistently use "if(" instead of "if (" in CMake files PiperOrigin-RevId: 240621819 -- c4acc506648622389f33f564fd94f8dda08cb61a by Tom Manshreck <shreck@google.com>: Internal change PiperOrigin-RevId: 240619556 -- ddbc1894944aae96767c876a1ae8696ddaba42a2 by Jon Cohen <cohenjon@google.com>: Remove the warning about install prefixes when we aren't installing abseil PiperOrigin-RevId: 240614750 -- 086c4fad213d99e875038bc8a1c7268e28a7ebf3 by Abseil Team <absl-team@google.com>: Adjust some tests and test cases which fail on WebAssembly PiperOrigin-RevId: 240592367 -- 46c2c09723a37ef4911ae3c64aab92e3f0fdba79 by Abseil Team <absl-team@google.com>: CMake install target update - Add prefix absl_ to each target when install rule are disabled. - Disable all install commands when absl is used as subdirectory (Fix #287) PiperOrigin-RevId: 240575083 -- 8d88063ed5b16f982a91950693d37ca18fdd46d8 by Jon Cohen <cohenjon@google.com>: Correctly link to Threads::Threads for a few cmake targets which were missing it. PiperOrigin-RevId: 240574513 GitOrigin-RevId: fcf9d3facb12451964ad1850073cbfb6f9739379 Change-Id: I031c57de8cd88554348eb8bd1371d01d15ff1fc7
55 lines
2.1 KiB
CMake
55 lines
2.1 KiB
CMake
# See absl/copts/copts.py and absl/copts/generate_copts.py
|
|
include(GENERATED_AbseilCopts)
|
|
|
|
set(ABSL_LSAN_LINKOPTS "")
|
|
set(ABSL_HAVE_LSAN OFF)
|
|
set(ABSL_DEFAULT_LINKOPTS "")
|
|
|
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
|
set(ABSL_DEFAULT_COPTS "${ABSL_GCC_FLAGS}")
|
|
set(ABSL_TEST_COPTS "${ABSL_GCC_FLAGS};${ABSL_GCC_TEST_FLAGS}")
|
|
set(ABSL_EXCEPTIONS_FLAG "${ABSL_GCC_EXCEPTIONS_FLAGS}")
|
|
elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
|
# MATCHES so we get both Clang and AppleClang
|
|
if(MSVC)
|
|
# clang-cl is half MSVC, half LLVM
|
|
set(ABSL_DEFAULT_COPTS "${ABSL_CLANG_CL_FLAGS}")
|
|
set(ABSL_TEST_COPTS "${ABSL_CLANG_CL_FLAGS};${ABSL_CLANG_CL_TEST_FLAGS}")
|
|
set(ABSL_EXCEPTIONS_FLAG "${ABSL_CLANG_CL_EXCEPTIONS_FLAGS}")
|
|
else()
|
|
set(ABSL_DEFAULT_COPTS "${ABSL_LLVM_FLAGS}")
|
|
set(ABSL_TEST_COPTS "${ABSL_LLVM_FLAGS};${ABSL_LLVM_TEST_FLAGS}")
|
|
set(ABSL_EXCEPTIONS_FLAG "${ABSL_LLVM_EXCEPTIONS_FLAGS}")
|
|
set(ABSL_DEFAULT_LINKOPTS "${ABSL_MSVC_LINKOPTS}")
|
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
|
# AppleClang doesn't have lsan
|
|
# https://developer.apple.com/documentation/code_diagnostics
|
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 3.5)
|
|
set(ABSL_LSAN_LINKOPTS "-fsanitize=leak")
|
|
set(ABSL_HAVE_LSAN ON)
|
|
endif()
|
|
endif()
|
|
endif()
|
|
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
|
set(ABSL_DEFAULT_COPTS "${ABSL_MSVC_FLAGS}")
|
|
set(ABSL_TEST_COPTS "${ABSL_MSVC_FLAGS};${ABSL_MSVC_TEST_FLAGS}")
|
|
set(ABSL_EXCEPTIONS_FLAG "${ABSL_MSVC_EXCEPTIONS_FLAGS}")
|
|
set(ABSL_DEFAULT_LINKOPTS "${ABSL_MSVC_LINKOPTS}")
|
|
else()
|
|
message(WARNING "Unknown compiler: ${CMAKE_CXX_COMPILER}. Building with no default flags")
|
|
set(ABSL_DEFAULT_COPTS "")
|
|
set(ABSL_TEST_COPTS "")
|
|
set(ABSL_EXCEPTIONS_FLAG "")
|
|
endif()
|
|
|
|
# This flag is used internally for Bazel builds and is kept here for consistency
|
|
set(ABSL_EXCEPTIONS_FLAG_LINKOPTS "")
|
|
|
|
if("${CMAKE_CXX_STANDARD}" EQUAL 98)
|
|
message(FATAL_ERROR "Abseil requires at least C++11")
|
|
elseif(NOT "${CMAKE_CXX_STANDARD}")
|
|
message(STATUS "No CMAKE_CXX_STANDARD set, assuming 11")
|
|
set(ABSL_CXX_STANDARD 11)
|
|
else()
|
|
set(ABSL_CXX_STANDARD "${CMAKE_CXX_STANDARD}")
|
|
endif()
|