Skip to content

Commit

Permalink
Merge pull request #187 from Morwenn/develop
Browse files Browse the repository at this point in the history
Release 1.10.0
  • Loading branch information
Morwenn committed Mar 30, 2021
2 parents 2e11cd2 + 623c490 commit 67460c6
Show file tree
Hide file tree
Showing 133 changed files with 4,664 additions and 1,539 deletions.
@@ -1,20 +1,20 @@
# Copyright (c) 2021 Morwenn
# SPDX-License-Identifier: MIT

name: Windows Builds
name: MinGW-w64 Builds

on:
push:
paths:
- '.github/workflows/build-windows.yml'
- '.github/workflows/build-mingw.yml'
- 'CMakeLists.txt'
- 'cmake/**'
- 'examples/**'
- 'include/**'
- 'testsuite/**'
pull_request:
paths:
- '.github/workflows/build-windows.yml'
- '.github/workflows/build-mingw.yml'
- 'CMakeLists.txt'
- 'cmake/**'
- 'examples/**'
Expand Down
54 changes: 54 additions & 0 deletions .github/workflows/build-msvc.yml
@@ -0,0 +1,54 @@
# Copyright (c) 2021 Morwenn
# SPDX-License-Identifier: MIT

name: MSVC Builds

on:
push:
paths:
- '.github/workflows/build-msvc.yml'
- 'CMakeLists.txt'
- 'cmake/**'
- 'examples/**'
- 'include/**'
- 'testsuite/**'
pull_request:
paths:
- '.github/workflows/build-msvc.yml'
- 'CMakeLists.txt'
- 'cmake/**'
- 'examples/**'
- 'include/**'
- 'testsuite/**'

jobs:
build:
runs-on: windows-2019

strategy:
fail-fast: false
matrix:
build_type: [Debug, Release]

steps:
- uses: actions/checkout@v2

- name: Configure CMake
shell: pwsh
working-directory: ${{runner.workspace}}
run: |
cmake -H${{github.event.repository.name}} -Bbuild `
-DCMAKE_CONFIGURATION_TYPES=${{matrix.build_type}} `
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} `
-G"Visual Studio 16 2019" -A x64 `
-DCPPSORT_BUILD_EXAMPLES=ON
- name: Build the test suite
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config ${{matrix.build_type}} -j 2

- name: Run the test suite
env:
CTEST_OUTPUT_ON_FAILURE: 1
working-directory: ${{runner.workspace}}/build
run: ctest -C ${{matrix.build_type}}
7 changes: 6 additions & 1 deletion CMakeLists.txt
Expand Up @@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 3.8.0)

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

project(cpp-sort VERSION 1.9.0 LANGUAGES CXX)
project(cpp-sort VERSION 1.10.0 LANGUAGES CXX)

include(CMakePackageConfigHelpers)
include(GNUInstallDirs)
Expand All @@ -25,6 +25,11 @@ target_include_directories(cpp-sort INTERFACE

target_compile_features(cpp-sort INTERFACE cxx_std_14)

# MSVC won't work without a stricter standard compliance
if (MSVC)
target_compile_options(cpp-sort INTERFACE /permissive-)
endif()

add_library(cpp-sort::cpp-sort ALIAS cpp-sort)

# Install targets and files
Expand Down
11 changes: 4 additions & 7 deletions README.md
@@ -1,5 +1,5 @@
[![Latest Release](https://img.shields.io/badge/release-1.9.0-blue.svg)](https://github.com/Morwenn/cpp-sort/releases/tag/1.9.0)
[![Conan Package](https://img.shields.io/badge/conan-cpp--sort%2F1.9.0-blue.svg)](https://conan.io/center/cpp-sort?version=1.9.0)
[![Latest Release](https://img.shields.io/badge/release-1.10.0-blue.svg)](https://github.com/Morwenn/cpp-sort/releases/tag/1.10.0)
[![Conan Package](https://img.shields.io/badge/conan-cpp--sort%2F1.10.0-blue.svg)](https://conan.io/center/cpp-sort?version=1.10.0)
[![Code Coverage](https://codecov.io/gh/Morwenn/cpp-sort/branch/develop/graph/badge.svg)](https://codecov.io/gh/Morwenn/cpp-sort)

> *It would be nice if only one or two of the sorting methods would dominate all of the others,
Expand Down Expand Up @@ -116,8 +116,9 @@ wiki page](https://github.com/Morwenn/cpp-sort/wiki/Benchmarks).
**cpp-sort** currently requires C++14 support, and only works with g++5 and clang++3.8
or more recent versions of these compilers. So far, the library should work with the
following compilers:
* g++5.5 or more recent. It it know not to work with some older g++5 versions.
* g++5.5 or more recent. It is known not to work with some older g++5 versions.
* clang++6 or more recent. It should work with clang++ versions all the way back to 3.8, but the CI pipeline doesn't have test for those anymore.
* Visual Studio 2019 version 16.8.3 or more recent, only with `/permissive-`. A few features are unavailable.
* The versions of MinGW-w64 and AppleClang equivalent to the compilers mentioned above.
* Clang is notably tested with both libstdc++ and libc++.

Expand All @@ -126,10 +127,6 @@ with the most recent versions of those compilers on a regular basis. All the oth
versions in-between are untested, but should also work. Feel free to open an issue if it isn't the
case.

Last time I tried it did not work with the latest MSVC. Future development on the C++14 branch
will try to remain compatible with the compiler versions listed above. I might try to make it
work with MSVC in the future.

The features in the library might differ depending on the C++ version used and on the compiler
extensions enabled. Those changes [are documented](https://github.com/Morwenn/cpp-sort/wiki/Changelog)
in the wiki.
Expand Down

0 comments on commit 67460c6

Please sign in to comment.