diff --git a/.github/workflows/gha.yml b/.github/workflows/gha.yml index 4abe45fe5..0f9de4418 100644 --- a/.github/workflows/gha.yml +++ b/.github/workflows/gha.yml @@ -21,6 +21,7 @@ jobs: - name: Checkout uses: actions/checkout@v3 - name: Install Dependencies + run: | brew update brew install --force llvm @@ -59,7 +60,7 @@ jobs: case ${{ matrix.pattern }} in 0) - export MSGPACK_CXX_VERSION="MSGPACK_CXX11=OFF" + export MSGPACK_CXX_VERSION="MSGPACK_CXX11=ON" ;; 1) export API_VERSION=1 @@ -136,7 +137,7 @@ jobs: case ${{ matrix.pattern }} in 0) export CXX="clang++-10" - export MSGPACK_CXX_VERSION="MSGPACK_CXX11=OFF" + export MSGPACK_CXX_VERSION="MSGPACK_CXX11=ON" ;; 1) export CXX="g++-10" diff --git a/CMakeLists.txt b/CMakeLists.txt index 8dc6d610a..a6dd2bcd1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,12 @@ -CMAKE_MINIMUM_REQUIRED (VERSION 3.1 FATAL_ERROR) - -CMAKE_POLICY (SET CMP0054 NEW) +if(${CMAKE_VERSION} VERSION_GREATER "3.4") + CMAKE_MINIMUM_REQUIRED (VERSION 3.5) +else() + CMAKE_MINIMUM_REQUIRED (VERSION 2.8.12) + IF ((CMAKE_VERSION VERSION_GREATER 3.1) OR + (CMAKE_VERSION VERSION_EQUAL 3.1)) + CMAKE_POLICY(SET CMP0054 NEW) + ENDIF () +endif() PROJECT (msgpack-cxx LANGUAGES CXX) @@ -18,7 +24,7 @@ SET (VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}) LIST (APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/") SET (GNUCXX_STD_SUPPORT_VERSION "4.3") -OPTION (MSGPACK_CXX11 "Using c++11 compiler" OFF) +OPTION (MSGPACK_CXX11 "Using c++11 compiler" ON) OPTION (MSGPACK_CXX14 "Using c++14 compiler" OFF) OPTION (MSGPACK_CXX17 "Using c++17 compiler" OFF) OPTION (MSGPACK_CXX20 "Using c++20 compiler" OFF) @@ -67,6 +73,10 @@ IF (MSGPACK_32BIT) ENDIF () IF (MSGPACK_USE_BOOST) + IF ((CMAKE_VERSION VERSION_GREATER 3.30) OR + (CMAKE_VERSION VERSION_EQUAL 3.30)) + CMAKE_POLICY(SET CMP0167 NEW) + ENDIF () SET (Boost_USE_MULTITHREADED ON) IF (MSGPACK_USE_STATIC_BOOST) @@ -143,6 +153,13 @@ IF (MSGPACK_GEN_COVERAGE) ENDIF () IF (MSGPACK_BUILD_TESTS) + IF (${CMAKE_CXX_STANDARD} EQUAL 98) + MESSAGE (FATAL_ERROR "Tests requires C++11 or newer") + ENDIF () + IF ((CMAKE_VERSION VERSION_GREATER 3.27) OR + (CMAKE_VERSION VERSION_EQUAL 3.27)) + CMAKE_POLICY(SET CMP0145 OLD) + ENDIF () IF (NOT MSGPACK_USE_BOOST) MESSAGE(FATAL_ERROR "Test requires -DMSGPACK_USE_BOOST=ON") ENDIF () diff --git a/appveyor.yml b/appveyor.yml index bcd23d817..cf7e44693 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -6,16 +6,6 @@ branches: environment: matrix: - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 - cpp11: -DMSGPACK_CXX11=OFF - msvc: '"Visual Studio 12 2013"' - boost_prefix: C:\Libraries\boost_1_58_0 - boost_subdir: lib32-msvc-12.0 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - cpp11: -DMSGPACK_CXX11=OFF - msvc: '"Visual Studio 14 2015"' - boost_prefix: C:\Libraries\boost_1_69_0 - boost_subdir: lib32-msvc-14.0 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 cpp11: -DMSGPACK_CXX11=ON msvc: '"Visual Studio 14 2015"' diff --git a/include/msgpack/type.hpp b/include/msgpack/type.hpp index 1ab49745f..9ef3e86d3 100644 --- a/include/msgpack/type.hpp +++ b/include/msgpack/type.hpp @@ -73,7 +73,11 @@ #if !defined(MSGPACK_NO_BOOST) #include "adaptor/boost/fusion.hpp" + +#if !defined(MSGPACK_USE_CPP03) #include "adaptor/boost/msgpack_variant.hpp" +#endif // !defined(MSGPACK_USE_CPP03) + #include "adaptor/boost/optional.hpp" #include "adaptor/boost/string_ref.hpp" #include "adaptor/boost/string_view.hpp" diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index a0233dd35..b29c07a2c 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -8,7 +8,6 @@ LIST (APPEND check_PROGRAMS boost_optional.cpp boost_string_ref.cpp boost_string_view.cpp - boost_variant.cpp buffer.cpp carray.cpp cases.cpp @@ -43,6 +42,7 @@ ENDIF () IF (MSGPACK_CXX11 OR MSGPACK_CXX14 OR MSGPACK_CXX17 OR MSGPACK_CXX20) LIST (APPEND check_PROGRAMS + boost_variant.cpp iterator_cpp11.cpp msgpack_cpp11.cpp reference_cpp11.cpp