Skip to content

Commit

Permalink
Drop support of C++11 and require C++14.
Browse files Browse the repository at this point in the history
  • Loading branch information
1uc committed Feb 12, 2024
1 parent 84c1327 commit fa4a407
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 17 deletions.
14 changes: 3 additions & 11 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,21 +70,13 @@ mark_as_advanced(HIGHFIVE_SANITIZER)
# -----------------------------------

if(NOT DEFINED CMAKE_CXX_STANDARD)
if(HIGHFIVE_TEST_XTENSOR)
set(CMAKE_CXX_STANDARD 14)
else()
set(CMAKE_CXX_STANDARD 11)
endif()
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
endif()

if(CMAKE_CXX_STANDARD EQUAL 98)
message(FATAL_ERROR "HighFive needs to be compiled with at least C++11")
endif()

if(HIGHFIVE_TEST_XTENSOR AND CMAKE_CXX_STANDARD LESS 14)
message(FATAL_ERROR "XTensor requires C++14 or newer.")
if(CMAKE_CXX_STANDARD EQUAL 98 OR CMAKE_CXX_STANDARD LESS 14)
message(FATAL_ERROR "HighFive needs to be compiled with at least C++14")
endif()

add_compile_definitions(HIGHFIVE_CXX_STD=${CMAKE_CXX_STANDARD})
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Documentation: https://bluebrain.github.io/HighFive/

## Brief

HighFive is a modern header-only C++11 friendly interface for libhdf5.
HighFive is a modern header-only C++14 friendly interface for libhdf5.

HighFive supports STL vector/string, Boost::UBLAS, Boost::Multi-array and Xtensor. It handles C++ from/to HDF5 with automatic type mapping.
HighFive does not require additional libraries (see dependencies).
Expand All @@ -24,7 +24,7 @@ It integrates nicely with other CMake projects by defining (and exporting) a Hig
- Simple C++-ish minimalist interface
- No other dependency than libhdf5
- Zero overhead
- Support C++11
- Support C++14

### Feature support
- create/read/write files, datasets, attributes, groups, dataspaces.
Expand Down
2 changes: 1 addition & 1 deletion tests/cmake_integration/application/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.14)
project(Hi5Application VERSION 0.1)

if(NOT DEFINED CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
endif()
Expand Down
2 changes: 1 addition & 1 deletion tests/cmake_integration/dependent_library/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ cmake_minimum_required(VERSION 3.14)
project(Hi5Dependent VERSION 0.1)

if(NOT DEFINED CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
endif()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.14)
project(TestHi5Dependent VERSION 0.1)

if(NOT DEFINED CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
endif()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.14)
project(TestHi5Dependent VERSION 0.1)

if(NOT DEFINED CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
endif()
Expand Down

0 comments on commit fa4a407

Please sign in to comment.