diff --git a/.cirrus.yml b/.cirrus.yml index d786910..fbd0e0b 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,6 +1,6 @@ freebsd_task: freebsd_instance: - image_family: freebsd-12-1 + image_family: freebsd-14-0 install_script: | pkg install -y cmake pw groupadd testgrp diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index f50664b..c8170ec 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -10,6 +10,42 @@ jobs: fail-fast: false matrix: config: + - name: "Ubuntu 22.04 GCC 11" + os: ubuntu-22.04 + build_type: Release + packages: ninja-build + generator: Ninja + compatibility: "cxx_std_11;cxx_std_17;cxx_std_20" + cc: gcc + cxx: g++ + + - name: "Ubuntu 22.04 Clang 13.0" + os: ubuntu-22.04 + build_type: Release + packages: ninja-build libc++-13-dev libc++abi-13-dev + generator: Ninja + compatibility: "cxx_std_11;cxx_std_17;cxx_std_20" + cc: clang-13 + cxx: clang++-13 + + - name: "Ubuntu 22.04 Clang 15.0" + os: ubuntu-22.04 + build_type: Release + packages: ninja-build libc++-15-dev libc++abi-15-dev + generator: Ninja + compatibility: "cxx_std_11;cxx_std_17;cxx_std_20" + cc: clang-15 + cxx: clang++-15 + + - name: "Ubuntu 22.04 GCC 11 coverage" + os: ubuntu-22.04 + build_type: Debug + packages: ninja-build lcov + generator: Ninja + compatibility: "cxx_std_11;cxx_std_17;cxx_std_20" + cc: gcc + cxx: g++ + - name: "Ubuntu 20.04 GCC 9.3" os: ubuntu-20.04 build_type: Release @@ -46,69 +82,6 @@ jobs: cc: gcc cxx: g++ - - name: "Ubuntu 18.04 GCC 8.4" - os: ubuntu-18.04 - build_type: Release - packages: ninja-build gcc-8 g++-8 - generator: Ninja - compatibility: "cxx_std_11;cxx_std_17" - cc: gcc-8 - cxx: g++-8 - - - name: "Ubuntu 18.04 GCC 7.5" - os: ubuntu-18.04 - build_type: Release - packages: ninja-build - generator: Ninja - compatibility: "cxx_std_11;cxx_std_17" - cc: gcc-7 - cxx: g++-7 - - - name: "Ubuntu 18.04 GCC 6.5" - os: ubuntu-18.04 - build_type: Release - packages: ninja-build gcc-6 g++-6 - generator: Ninja - compatibility: "cxx_std_11;cxx_std_17" - cc: gcc-6 - cxx: g++-6 - - - name: "Ubuntu 18.04 GCC 5.5" - os: ubuntu-18.04 - build_type: Release - packages: ninja-build gcc-5 g++-5 - generator: Ninja - compatibility: "cxx_std_11;cxx_std_17" - cc: gcc-5 - cxx: g++-5 - - - name: "Ubuntu 18.04 Clang 9.0" - os: ubuntu-18.04 - build_type: Release - packages: ninja-build libc++-9-dev libc++abi-9-dev - generator: Ninja - compatibility: "cxx_std_11;cxx_std_17;cxx_std_20" - cc: clang - cxx: clang++ - - - name: "Ubuntu 18.04 Clang 6.0" - os: ubuntu-18.04 - build_type: Release - packages: ninja-build clang-6.0 - generator: Ninja - compatibility: "cxx_std_11;cxx_std_17" - cc: clang-6.0 - cxx: clang++-6.0 - - - name: "Ubuntu 18.04 Clang 5.0" - os: ubuntu-18.04 - build_type: Release - packages: ninja-build clang-5.0 - generator: Ninja - compatibility: "cxx_std_11;cxx_std_17" - cc: clang-5.0 - cxx: clang++-5.0 - - name: "Windows MSVC 2019" os: windows-2019 build_type: Release @@ -118,8 +91,17 @@ jobs: cc: cl cxx: cl - - name: "macOS 10.15 AppleClang" - os: macos-10.15 + - name: "macOS 13 AppleClang" + os: macos-13 + build_type: Release + packages: ninja + generator: Ninja + compatibility: "cxx_std_11;cxx_std_17;cxx_std_20" + cc: clang + cxx: clang++ + + - name: "macOS 12 AppleClang" + os: macos-12 build_type: Release packages: ninja generator: Ninja @@ -127,7 +109,7 @@ jobs: cc: clang cxx: clang++ - - name: "macOS 11.6 AppleClang" + - name: "macOS 11 AppleClang" os: macos-11 build_type: Release packages: ninja diff --git a/CMakeLists.txt b/CMakeLists.txt index 063289c..de97dd9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.7.2) project( ghcfilesystem, - VERSION 1.5.14 + VERSION 1.5.15 ) if (POLICY CMP0077) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 2275c61..1401ef0 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -3,6 +3,11 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") set(PARSE_CATCH_TESTS_ADD_TO_CONFIGURE_DEPENDS ON) include(ParseAndAddCatchTests) +if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND UNIX AND NOT APPLE AND NOT BSD) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") + set(CMAKE_EXE_LINKER_FLAGS "-lc++abi") +endif() + function(SetTestCompileOptions target_name) target_compile_options(${target_name} PRIVATE $<$:-s DISABLE_EXCEPTION_CATCHING=0>