|
|
|
@ -132,6 +132,22 @@ if (HAVE_ZLIB) |
|
|
|
|
add_definitions(-DHAVE_ZLIB) |
|
|
|
|
endif (HAVE_ZLIB) |
|
|
|
|
|
|
|
|
|
# We need to link with libatomic on systems that do not have builtin atomics, or |
|
|
|
|
# don't have builtin support for 8 byte atomics |
|
|
|
|
set(protobuf_LINK_LIBATOMIC false) |
|
|
|
|
if (NOT MSVC) |
|
|
|
|
include(CheckCXXSourceCompiles) |
|
|
|
|
check_cxx_source_compiles(" |
|
|
|
|
#include <atomic> |
|
|
|
|
int main() { |
|
|
|
|
return std::atomic<int64_t>{}; |
|
|
|
|
} |
|
|
|
|
" protobuf_HAVE_BUILTIN_ATOMICS) |
|
|
|
|
if (NOT protobuf_HAVE_BUILTIN_ATOMICS) |
|
|
|
|
set(protobuf_LINK_LIBATOMIC true) |
|
|
|
|
endif (NOT protobuf_HAVE_BUILTIN_ATOMICS) |
|
|
|
|
endif (NOT MSVC) |
|
|
|
|
|
|
|
|
|
if (protobuf_BUILD_SHARED_LIBS) |
|
|
|
|
set(protobuf_SHARED_OR_STATIC "SHARED") |
|
|
|
|
else (protobuf_BUILD_SHARED_LIBS) |
|
|
|
|