mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 00:30:49 +00:00
Fixed clang build on macOS
- Make sure to use dynamic linking on macOS to avoid OpenSSL static linking bug - Use -std=c++17 in CFLAGS for files in contrib - Avoid bad support for thread_local on macOS with clang altogether
This commit is contained in:
parent
e7af27c4e0
commit
fb1aa84973
@ -139,6 +139,8 @@ else ()
|
||||
set (CMAKE_CXX_EXTENSIONS 0) # https://cmake.org/cmake/help/latest/prop_tgt/CXX_EXTENSIONS.html#prop_tgt:CXX_EXTENSIONS
|
||||
set (CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set (CXX_FLAGS_INTERNAL_COMPILER "-std=c++1z")
|
||||
# This needs to propagate to vendored projects in contrib
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
|
||||
endif ()
|
||||
|
||||
set (CMAKE_BUILD_COLOR_MAKEFILE ON)
|
||||
|
@ -1,6 +1,10 @@
|
||||
set (OPENSSL_USE_STATIC_LIBS ${USE_STATIC_LIBRARIES})
|
||||
if (APPLE)
|
||||
set (OPENSSL_ROOT_DIR "/usr/local/opt/openssl")
|
||||
# https://rt.openssl.org/Ticket/Display.html?user=guest&pass=guest&id=2232
|
||||
if (USE_STATIC_LIBRARIES)
|
||||
message(WARNING "Disable USE_STATIC_LIBRARIES if you have linking problems with OpenSSL on MacOS")
|
||||
endif ()
|
||||
endif ()
|
||||
find_package (OpenSSL)
|
||||
if (NOT OPENSSL_FOUND)
|
||||
|
@ -149,7 +149,7 @@ void MemoryTracker::setOrRaiseLimit(Int64 value)
|
||||
;
|
||||
}
|
||||
|
||||
#if defined(__apple_build_version__) && __apple_build_version__ <= 9000038
|
||||
#if __APPLE__ && __clang__
|
||||
__thread MemoryTracker * current_memory_tracker = nullptr;
|
||||
#else
|
||||
thread_local MemoryTracker * current_memory_tracker = nullptr;
|
||||
|
@ -108,7 +108,7 @@ public:
|
||||
* This pointer is set when memory consumption is monitored in current thread.
|
||||
* So, you just need to pass it to all the threads that handle one request.
|
||||
*/
|
||||
#if defined(__apple_build_version__) && __apple_build_version__ <= 9000038
|
||||
#if __APPLE__ && __clang__
|
||||
extern __thread MemoryTracker * current_memory_tracker;
|
||||
#else
|
||||
extern thread_local MemoryTracker * current_memory_tracker;
|
||||
|
@ -45,8 +45,8 @@ private:
|
||||
{
|
||||
enum Type { POP, PUSH, READ };
|
||||
Type type;
|
||||
capnp::StructSchema::Field field;
|
||||
size_t column;
|
||||
capnp::StructSchema::Field field = {};
|
||||
size_t column = 0;
|
||||
};
|
||||
|
||||
// Wrapper for classes that could throw in destructor
|
||||
|
Loading…
Reference in New Issue
Block a user