aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/EthCompilerSettings.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/EthCompilerSettings.cmake')
-rw-r--r--cmake/EthCompilerSettings.cmake23
1 files changed, 7 insertions, 16 deletions
diff --git a/cmake/EthCompilerSettings.cmake b/cmake/EthCompilerSettings.cmake
index 1a00ae70..6d4dadeb 100644
--- a/cmake/EthCompilerSettings.cmake
+++ b/cmake/EthCompilerSettings.cmake
@@ -4,7 +4,7 @@
# CMake file for cpp-ethereum project which specifies our compiler settings
# for each supported platform and build configuration.
#
-# See http://www.ethdocs.org/en/latest/ethereum-clients/cpp-ethereum/.
+# The documentation for cpp-ethereum is hosted at http://cpp-ethereum.org
#
# Copyright (c) 2014-2016 cpp-ethereum contributors.
#------------------------------------------------------------------------------
@@ -14,18 +14,15 @@
#
# These settings then end up spanning all POSIX platforms (Linux, OS X, BSD, etc)
-include(CheckCXXCompilerFlag)
+include(EthCheckCXXCompilerFlag)
-check_cxx_compiler_flag(-fstack-protector-strong have_stack_protector_strong)
-if (have_stack_protector_strong)
- add_compile_options(-fstack-protector-strong)
-else()
- check_cxx_compiler_flag(-fstack-protector have_stack_protector)
- if(have_stack_protector)
- add_compile_options(-fstack-protector)
- endif()
+eth_add_cxx_compiler_flag_if_supported(-fstack-protector-strong have_stack_protector_strong_support)
+if(NOT have_stack_protector_strong_support)
+ eth_add_cxx_compiler_flag_if_supported(-fstack-protector)
endif()
+eth_add_cxx_compiler_flag_if_supported(-Wimplicit-fallthrough)
+
if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang"))
# Use ISO C++11 standard language.
@@ -83,12 +80,6 @@ if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MA
message(FATAL_ERROR "${PROJECT_NAME} requires g++ 4.7 or greater.")
endif ()
- # Until https://github.com/ethereum/solidity/issues/2479 is handled
- # disable all implicit fallthrough warnings in the codebase for GCC > 7.0
- if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0)
- add_compile_options(-Wno-implicit-fallthrough)
- endif()
-
# Additional Clang-specific compiler settings.
elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")