aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Karatarakis <alex@karatarakis.com>2018-07-10 14:19:36 -0700
committerGitHub <noreply@github.com>2018-07-10 14:19:36 -0700
commit91db517ba9df05ac8ac0989529eea0d9576164ec (patch)
tree4a4b0323d200bda5788ced7c917eb7423a224bd9
parentc873b2fddcf006e83cea4a726c06c54df0e0c8a3 (diff)
parentc83fbc2cc6ddab507d5e36caf7975b2dafc777a4 (diff)
downloadvcpkg-91db517ba9df05ac8ac0989529eea0d9576164ec.tar.gz
vcpkg-91db517ba9df05ac8ac0989529eea0d9576164ec.zip
Merge pull request #3519 from HungMingWu/master
[leveldb] Fix build on linux
-rw-r--r--ports/leveldb/CMakeLists.txt51
1 files changed, 34 insertions, 17 deletions
diff --git a/ports/leveldb/CMakeLists.txt b/ports/leveldb/CMakeLists.txt
index 73b082c4a..d19032582 100644
--- a/ports/leveldb/CMakeLists.txt
+++ b/ports/leveldb/CMakeLists.txt
@@ -3,18 +3,27 @@ project(leveldb C CXX)
option(INSTALL_HEADERS "Install header files" ON)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+IF (MSVC)
add_definitions(
- -DWIN32
- -D_CRT_NONSTDC_NO_DEPRECATE
- -D_SCL_SECURE_NO_WARNINGS
- -D_CRT_SECURE_NO_WARNINGS
- -DNOMINMAX
- -DLEVELDB_ATOMIC_PRESENT
- -DLEVELDB_PLATFORM_WINDOWS
+ -DWIN32
+ -D_CRT_NONSTDC_NO_DEPRECATE
+ -D_SCL_SECURE_NO_WARNINGS
+ -D_CRT_SECURE_NO_WARNINGS
+ -DNOMINMAX
+ -DLEVELDB_PLATFORM_WINDOWS
+ -DLEVELDB_ATOMIC_PRESENT
)
-
-add_library(libleveldb
- db/builder.cc
+else ()
+add_definitions(
+ -DLEVELDB_PLATFORM_POSIX
+ -DLEVELDB_ATOMIC_PRESENT
+)
+endif()
+set(SRCS
+ db/builder.cc
db/c.cc
db/dbformat.cc
db/db_impl.cc
@@ -31,7 +40,6 @@ add_library(libleveldb
db/write_batch.cc
helpers/memenv/memenv.cc
port/port_posix_sse.cc
- port/port_win.cc
table/block.cc
table/block_builder.cc
table/filter_block.cc
@@ -48,8 +56,6 @@ add_library(libleveldb
util/comparator.cc
util/crc32c.cc
util/env.cc
- util/env_posix.cc
- util/env_win.cc
util/filter_policy.cc
util/hash.cc
util/histogram.cc
@@ -58,11 +64,22 @@ add_library(libleveldb
util/status.cc
)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR} include)
+if (MSVC)
+set(SRCS ${SRCS} port/port_win.cc util/env_win.cc)
+else ()
+set(SRCS ${SRCS} port/port_posix.cc util/env_posix.cc)
+ENDIF()
+
+add_library(leveldb ${SRCS})
+
+target_include_directories(leveldb
+ PUBLIC include
+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
+)
-target_link_libraries(libleveldb PUBLIC Iphlpapi.lib Shlwapi.lib)
+target_link_libraries(leveldb PUBLIC Iphlpapi.lib Shlwapi.lib)
-install(TARGETS libleveldb
+install(TARGETS leveldb
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
@@ -72,4 +89,4 @@ if(INSTALL_HEADERS)
file(GLOB HEADERS include/leveldb/*.h)
install(FILES ${HEADERS} DESTINATION include/leveldb)
install(FILES helpers/memenv/memenv.h DESTINATION include)
-endif() \ No newline at end of file
+endif()