|
|
@ -6,15 +6,21 @@ cmake_minimum_required(VERSION 3.9) |
|
|
|
# Keep the version below in sync with the one in db.h |
|
|
|
project(leveldb VERSION 1.22.0 LANGUAGES C CXX) |
|
|
|
|
|
|
|
# This project can use C11, but will gracefully decay down to C89. |
|
|
|
set(CMAKE_C_STANDARD 11) |
|
|
|
set(CMAKE_C_STANDARD_REQUIRED OFF) |
|
|
|
set(CMAKE_C_EXTENSIONS OFF) |
|
|
|
|
|
|
|
# This project requires C++11. |
|
|
|
set(CMAKE_CXX_STANDARD 11) |
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON) |
|
|
|
set(CMAKE_CXX_EXTENSIONS OFF) |
|
|
|
# C standard can be overridden when this is used as a sub-project. |
|
|
|
if(NOT CMAKE_C_STANDARD) |
|
|
|
# This project can use C11, but will gracefully decay down to C89. |
|
|
|
set(CMAKE_C_STANDARD 11) |
|
|
|
set(CMAKE_C_STANDARD_REQUIRED OFF) |
|
|
|
set(CMAKE_C_EXTENSIONS OFF) |
|
|
|
endif(NOT CMAKE_C_STANDARD) |
|
|
|
|
|
|
|
# C++ standard can be overridden when this is used as a sub-project. |
|
|
|
if(NOT CMAKE_CXX_STANDARD) |
|
|
|
# This project requires C++11. |
|
|
|
set(CMAKE_CXX_STANDARD 11) |
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON) |
|
|
|
set(CMAKE_CXX_EXTENSIONS OFF) |
|
|
|
endif(NOT CMAKE_CXX_STANDARD) |
|
|
|
|
|
|
|
if (WIN32) |
|
|
|
set(LEVELDB_PLATFORM_NAME LEVELDB_PLATFORM_WINDOWS) |
|
|
|