Allow different C/C++ standards when this is used as a subproject.
Inspired by https://github.com/google/snappy/pull/85 PiperOrigin-RevId: 279649967
This commit is contained in:
parent
41c8d83914
commit
ed72a3496e
@ -6,15 +6,21 @@ cmake_minimum_required(VERSION 3.9)
|
|||||||
# Keep the version below in sync with the one in db.h
|
# Keep the version below in sync with the one in db.h
|
||||||
project(leveldb VERSION 1.22.0 LANGUAGES C CXX)
|
project(leveldb VERSION 1.22.0 LANGUAGES C CXX)
|
||||||
|
|
||||||
|
# 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.
|
# This project can use C11, but will gracefully decay down to C89.
|
||||||
set(CMAKE_C_STANDARD 11)
|
set(CMAKE_C_STANDARD 11)
|
||||||
set(CMAKE_C_STANDARD_REQUIRED OFF)
|
set(CMAKE_C_STANDARD_REQUIRED OFF)
|
||||||
set(CMAKE_C_EXTENSIONS 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.
|
# This project requires C++11.
|
||||||
set(CMAKE_CXX_STANDARD 11)
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
|
endif(NOT CMAKE_CXX_STANDARD)
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
set(LEVELDB_PLATFORM_NAME LEVELDB_PLATFORM_WINDOWS)
|
set(LEVELDB_PLATFORM_NAME LEVELDB_PLATFORM_WINDOWS)
|
||||||
|
Loading…
Reference in New Issue
Block a user