diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index b1f4a3cc7..c9032ba92 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,7 @@ # cd build # 3. Run cmake to generate project files for Windows, add more options to enable required third-party libraries. # See thirdparty.inc for more information. -# sample command: cmake -G "Visual Studio 15 Win64" -DCMAKE_BUILD_TYPE=Release -DWITH_GFLAGS=1 -DWITH_SNAPPY=1 -DWITH_JEMALLOC=1 -DWITH_JNI=1 .. +# sample command: cmake -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Release -DWITH_GFLAGS=1 -DWITH_SNAPPY=1 -DWITH_JEMALLOC=1 -DWITH_JNI=1 .. # 4. Then build the project in debug mode (you may want to add /m[:<N>] flag to run msbuild in <N> parallel threads # or simply /m to use all avail cores) # msbuild rocksdb.sln @@ -27,7 +27,7 @@ # # Linux: # -# 1. Install a recent toolchain such as devtoolset-3 if you're on a older distro. C++11 required. +# 1. Install a recent toolchain if you're on a older distro. C++17 required (GCC >= 7, Clang >= 5) # 2. mkdir build; cd build # 3. cmake .. # 4. make -j @@ -92,7 +92,7 @@ else() endif() if( NOT DEFINED CMAKE_CXX_STANDARD ) - set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD 17) endif() include(CMakeDependentOption) @@ -342,7 +342,7 @@ endif() # Check if -latomic is required or not if (NOT MSVC) - set(CMAKE_REQUIRED_FLAGS "--std=c++11") + set(CMAKE_REQUIRED_FLAGS "--std=c++17") CHECK_CXX_SOURCE_COMPILES(" #include <atomic> std::atomic<uint64_t> x(0); @@ -369,18 +369,8 @@ endif() # Reset the required flags set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS}) -CHECK_CXX_SOURCE_COMPILES(" -#if defined(_MSC_VER) && !defined(__thread) -#define __thread __declspec(thread) -#endif -int main() { - static __thread int tls; - (void)tls; -} -" HAVE_THREAD_LOCAL) -if(HAVE_THREAD_LOCAL) - add_definitions(-DROCKSDB_SUPPORT_THREAD_LOCAL) -endif() +# thread_local is part of C++11 and later (TODO: clean up this define) +add_definitions(-DROCKSDB_SUPPORT_THREAD_LOCAL) option(WITH_IOSTATS_CONTEXT "Enable IO stats context" ON) if (NOT WITH_IOSTATS_CONTEXT) |