diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7176614de..c56e4003b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -559,37 +559,37 @@ jobs: set +e; source /opt/intel/oneapi/setvars.sh; set -e cmake --build build-11 --target test_cmake_build - - name: Configure C++14 + - name: Configure C++17 run: | set +e; source /opt/intel/oneapi/setvars.sh; set -e - cmake -S . -B build-14 \ + cmake -S . -B build-17 \ -DPYBIND11_WERROR=ON \ -DDOWNLOAD_CATCH=ON \ -DDOWNLOAD_EIGEN=OFF \ - -DCMAKE_CXX_STANDARD=14 \ + -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_CXX_COMPILER=$(which icpc) \ -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") - - name: Build C++14 + - name: Build C++17 run: | set +e; source /opt/intel/oneapi/setvars.sh; set -e - cmake --build build-14 -j 2 -v + cmake --build build-17 -j 2 -v - - name: Python tests C++14 + - name: Python tests C++17 run: | set +e; source /opt/intel/oneapi/setvars.sh; set -e sudo service apport stop - cmake --build build-14 --target check + cmake --build build-17 --target check - - name: C++ tests C++14 + - name: C++ tests C++17 run: | set +e; source /opt/intel/oneapi/setvars.sh; set -e - cmake --build build-14 --target cpptest + cmake --build build-17 --target cpptest - - name: Interface test C++14 + - name: Interface test C++17 run: | set +e; source /opt/intel/oneapi/setvars.sh; set -e - cmake --build build-14 --target test_cmake_build + cmake --build build-17 --target test_cmake_build # Testing on CentOS (manylinux uses a centos base, and this is an easy way diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index b00c043ac..eb8c3228d 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -327,6 +327,9 @@ function(pybind11_enable_warnings target_name) elseif(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang|IntelLLVM)") target_compile_options(${target_name} PRIVATE -Werror) elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") + if(CMAKE_CXX_STANDARD EQUAL 17) # See PR #3570 + target_compile_options(${target_name} PRIVATE -Wno-conversion) + endif() target_compile_options( ${target_name} PRIVATE