diff --git a/src/Native/Unix/CMakeLists.txt b/src/Native/Unix/CMakeLists.txt index 7d804a1e54..717c2718d7 100644 --- a/src/Native/Unix/CMakeLists.txt +++ b/src/Native/Unix/CMakeLists.txt @@ -25,7 +25,6 @@ add_compile_options(-fPIC) add_compile_options(-I${CMAKE_CURRENT_SOURCE_DIR}/Common) add_compile_options(-I${CMAKE_CURRENT_BINARY_DIR}/Common) add_compile_options(-g) -add_compile_options(-Werror) if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5) add_compile_options(-Wno-unreachable-code) endif () diff --git a/src/Native/Unix/System.Security.Cryptography.Native/configure.cmake b/src/Native/Unix/System.Security.Cryptography.Native/configure.cmake index 809ffe318e..de55150e36 100644 --- a/src/Native/Unix/System.Security.Cryptography.Native/configure.cmake +++ b/src/Native/Unix/System.Security.Cryptography.Native/configure.cmake @@ -3,6 +3,11 @@ include(CheckFunctionExists) include(CheckLibraryExists) include(CheckFunctionExists) +set (PREVIOUS_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) +set (CMAKE_CXX_FLAGS "-D_GNU_SOURCE") +set (PREVIOUS_CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) +set (CMAKE_C_FLAGS "-D_GNU_SOURCE") + set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY} ${OPENSSL_SSL_LIBRARY}) @@ -17,6 +22,9 @@ check_function_exists( SSL_get0_alpn_selected HAVE_OPENSSL_ALPN) +set (CMAKE_CXX_FLAGS "${PREVIOUS_CMAKE_CXX_FLAGS}") +set (CMAKE_C_FLAGS "${PREVIOUS_CMAKE_C_FLAGS}") + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/pal_crypto_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/pal_crypto_config.h) diff --git a/src/Native/Unix/configure.cmake b/src/Native/Unix/configure.cmake index f4a30ad6cb..cf8eaa73d3 100644 --- a/src/Native/Unix/configure.cmake +++ b/src/Native/Unix/configure.cmake @@ -27,6 +27,11 @@ else () message(FATAL_ERROR "Unknown platform. Cannot define PAL_UNIX_NAME, used by RuntimeInformation.") endif () +set (PREVIOUS_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) +set (CMAKE_CXX_FLAGS "-D_GNU_SOURCE") +set (PREVIOUS_CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) +set (CMAKE_C_FLAGS "-D_GNU_SOURCE") + # We compile with -Werror, so we need to make sure these code fragments compile without warnings. # Older CMake versions (3.8) do not assign the result of their tests, causing unused-value errors # which are not distinguished from the test failing. So no error for that one. @@ -709,6 +714,9 @@ check_c_source_compiles( " HAVE_IN_EXCL_UNLINK) +set (CMAKE_CXX_FLAGS "${PREVIOUS_CMAKE_CXX_FLAGS}") +set (CMAKE_C_FLAGS "${PREVIOUS_CMAKE_C_FLAGS}") + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Common/pal_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/Common/pal_config.h)