mirror of
https://github.com/open-source-parsers/jsoncpp.git
synced 2024-12-27 11:21:02 +08:00
Always use consistent CXX_STANDARD
Since CMake has subdirectory variable scope, unilaterally set the CMAKE_CXX_STANDARD variable to use C++11. This covers cases with the library being included externally, both in cases of only C++98 being specified, as well as later versions being specified (since the CXX_STANDARD itself isn't a library dependency, only the PUBLIC target_compile_features on jsoncpp_lib). The previous direct check for C++98 is handled by requiring C++11 on this library; should the compiler being used not support C++11 then CMake will issue an error.
This commit is contained in:
parent
edc6239f39
commit
12ceb01485
@ -37,24 +37,11 @@ foreach(pold "") # Currently Empty
|
|||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# ==== Define language standard configurations requiring at least c++11 standard
|
# Build the library with C++11 standard support, independent from other including
|
||||||
if(CMAKE_CXX_STANDARD EQUAL "98")
|
# software which may use a different CXX_STANDARD or CMAKE_CXX_STANDARD.
|
||||||
message(FATAL_ERROR "CMAKE_CXX_STANDARD:STRING=98 is not supported.")
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
endif()
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
#####
|
|
||||||
## Set the default target properties
|
|
||||||
if(NOT CMAKE_CXX_STANDARD)
|
|
||||||
set(CMAKE_CXX_STANDARD 11) # Supported values are ``11``, ``14``, and ``17``.
|
|
||||||
endif()
|
|
||||||
if(NOT CMAKE_CXX_STANDARD_REQUIRED)
|
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
||||||
endif()
|
|
||||||
if(NOT CMAKE_CXX_EXTENSIONS)
|
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# ====
|
|
||||||
|
|
||||||
# Ensure that CMAKE_BUILD_TYPE has a value specified for single configuration generators.
|
# Ensure that CMAKE_BUILD_TYPE has a value specified for single configuration generators.
|
||||||
if(NOT DEFINED CMAKE_BUILD_TYPE AND NOT DEFINED CMAKE_CONFIGURATION_TYPES)
|
if(NOT DEFINED CMAKE_BUILD_TYPE AND NOT DEFINED CMAKE_CONFIGURATION_TYPES)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user