X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=CMakeLists.txt;h=672e2ae83f7e161cec810e1e8e4e1adbc3739553;hb=a835da8e088273066c32c3cb0e8ff69d54071217;hp=74c0cfe6a03177fd563d640dc30544f59e4c600f;hpb=96f6656551860c40c746c1946a4e4cb131e1f4a4;p=platform%2Fupstream%2Fglog.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 74c0cfe..672e2ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,6 +28,7 @@ set (CPACK_PACKAGE_VERSION ${GLOG_VERSION}) option (WITH_GFLAGS "Use gflags" ON) option (WITH_THREADS "Enable multithreading support" ON) +option (WITH_TLS "Enable Thread Local Storage (TLS) support" ON) list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) @@ -190,6 +191,31 @@ using namespace Outer::Inner;; int main() { return i; } " HAVE_NAMESPACES) +check_cxx_source_compiles (" +__declspec(thread) int tls; +int main() { } +" HAVE_MSVC_TLS) + +check_cxx_source_compiles (" +thread_local int tls; +int main() { } +" HAVE_CXX11_TLS) + +check_cxx_source_compiles (" +__attribute__((thread)) int tls; +int main() { } +" HAVE_CYGWIN_TLS) + +if (WITH_TLS) + if (HAVE_CYGWIN_TLS) + set (GLOG_THREAD_LOCAL_STORAGE "__attribute__((thread))") + elseif (HAVE_MSVC_TLS) + set (GLOG_THREAD_LOCAL_STORAGE "__declspec(thread)") + elseif (HAVE_CXX11_TLS) + set (GLOG_THREAD_LOCAL_STORAGE thread_local) + endif (HAVE_CYGWIN_TLS) +endif (WITH_TLS) + set (_PC_FIELDS "gregs[REG_PC]" "gregs[REG_EIP]"