feat(hos_client_create, hos_client_destory): 多次调用destory不会导致重复释放

This commit is contained in:
彭宣正
2020-12-14 17:24:58 +08:00
parent 505d529c32
commit 10b370e486
55976 changed files with 8544395 additions and 2 deletions

View File

@@ -0,0 +1,53 @@
message(STATUS "Generating linux build config")
set(SDK_INSTALL_BINARY_PREFIX "linux")
include(CheckCXXSourceCompiles)
include(CMakePushCheckState)
include(CheckLibraryExists)
set(ATOMIC_TEST_CXX_SOURCE "
#include <cstdint>
#include <atomic>
std::atomic<uintptr_t> x;
std::atomic<uintmax_t> y;
int main() {
return x + y;
}")
set(LIBATOMIC_TEST_CXX_SOURCE "
int main() {
__atomic_load_8(nullptr, 0);
return 0;
}")
macro(apply_post_project_platform_settings)
include(GNUInstallDirs)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(SDK_INSTALL_BINARY_PREFIX "${SDK_INSTALL_BINARY_PREFIX}/intel64")
else()
set(SDK_INSTALL_BINARY_PREFIX "${SDK_INSTALL_BINARY_PREFIX}/ia32")
endif()
set(PLATFORM_DEP_LIBS pthread)
set(PLATFORM_DEP_LIBS_ABSTRACT_NAME pthread)
# libatomic - some arches need to link against libatomic.so, some don't
cmake_push_check_state()
list(APPEND CMAKE_REQUIRED_FLAGS "-std=c++${CPP_STANDARD}")
check_cxx_source_compiles("${ATOMIC_TEST_CXX_SOURCE}" HAVE_ATOMICS_WITHOUT_LIBATOMIC)
if(NOT HAVE_ATOMICS_WITHOUT_LIBATOMIC)
set(CMAKE_REQUIRED_LIBRARIES atomic)
check_cxx_source_compiles("${LIBATOMIC_TEST_CXX_SOURCE}" LIBATOMIC_EXISTS)
if(LIBATOMIC_EXISTS)
check_cxx_source_compiles("${ATOMIC_TEST_CXX_SOURCE}" HAVE_ATOMICS_WITH_LIBATOMIC)
endif()
if(HAVE_ATOMICS_WITH_LIBATOMIC)
list(APPEND PLATFORM_DEP_LIBS atomic)
else()
message(FATAL_ERROR "Could not determine support for atomic operations.")
endif()
endif()
cmake_pop_check_state()
endmacro()