summaryrefslogtreecommitdiff
path: root/storage/rocksdb/build_rocksdb.cmake
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@mariadb.com>2018-09-05 19:32:31 +0100
committerVladislav Vaintroub <wlad@mariadb.com>2018-09-05 19:32:31 +0100
commit67b87e1d76a3ecaacb1606d8ddcc1f67f4b7faf6 (patch)
tree0628e77d8b43b8be7d5a411e83a006265478f093 /storage/rocksdb/build_rocksdb.cmake
parent2676f3371cc18cf9f33b24accf3949a590c1fec8 (diff)
downloadmariadb-git-67b87e1d76a3ecaacb1606d8ddcc1f67f4b7faf6.tar.gz
Rocksdb, Windows - better fix for broken WIN32_LEAN_AND_MEAN
(https://github.com/facebook/rocksdb/issues/4344) Also, disable /permissive- flag if set, it breaks rocksdb compilation in 10.3 on older versions of Windows 8.1 SDK.
Diffstat (limited to 'storage/rocksdb/build_rocksdb.cmake')
-rw-r--r--storage/rocksdb/build_rocksdb.cmake7
1 files changed, 7 insertions, 0 deletions
diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake
index f09024ef800..93f5fa2d1f3 100644
--- a/storage/rocksdb/build_rocksdb.cmake
+++ b/storage/rocksdb/build_rocksdb.cmake
@@ -385,6 +385,13 @@ ENDFOREACH()
if(MSVC)
add_definitions(-DHAVE_SSE42 -DHAVE_PCLMUL)
+ # Workaround broken compilation with -DWIN32_LEAN_AND_MEAN
+ # (https://github.com/facebook/rocksdb/issues/4344)
+ set_source_files_properties(${ROCKSDB_SOURCE_DIR}/port/win/env_win.cc
+ PROPERTIES COMPILE_FLAGS "/FI\"windows.h\" /FI\"winioctl.h\"")
+
+ # Workaround Win8.1 SDK bug, that breaks /permissive-
+ string(REPLACE "/permissive-" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
else()
set(CMAKE_REQUIRED_FLAGS "-msse4.2 -mpclmul ${CXX11_FLAGS}")