Skip to content

Commit 67460c6

Browse files
authored
Merge pull request #187 from Morwenn/develop
Release 1.10.0
2 parents 2e11cd2 + 623c490 commit 67460c6

File tree

133 files changed

+4664
-1539
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+4664
-1539
lines changed

.github/workflows/build-windows.yml .github/workflows/build-mingw.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
# Copyright (c) 2021 Morwenn
22
# SPDX-License-Identifier: MIT
33

4-
name: Windows Builds
4+
name: MinGW-w64 Builds
55

66
on:
77
push:
88
paths:
9-
- '.github/workflows/build-windows.yml'
9+
- '.github/workflows/build-mingw.yml'
1010
- 'CMakeLists.txt'
1111
- 'cmake/**'
1212
- 'examples/**'
1313
- 'include/**'
1414
- 'testsuite/**'
1515
pull_request:
1616
paths:
17-
- '.github/workflows/build-windows.yml'
17+
- '.github/workflows/build-mingw.yml'
1818
- 'CMakeLists.txt'
1919
- 'cmake/**'
2020
- 'examples/**'

.github/workflows/build-msvc.yml

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Copyright (c) 2021 Morwenn
2+
# SPDX-License-Identifier: MIT
3+
4+
name: MSVC Builds
5+
6+
on:
7+
push:
8+
paths:
9+
- '.github/workflows/build-msvc.yml'
10+
- 'CMakeLists.txt'
11+
- 'cmake/**'
12+
- 'examples/**'
13+
- 'include/**'
14+
- 'testsuite/**'
15+
pull_request:
16+
paths:
17+
- '.github/workflows/build-msvc.yml'
18+
- 'CMakeLists.txt'
19+
- 'cmake/**'
20+
- 'examples/**'
21+
- 'include/**'
22+
- 'testsuite/**'
23+
24+
jobs:
25+
build:
26+
runs-on: windows-2019
27+
28+
strategy:
29+
fail-fast: false
30+
matrix:
31+
build_type: [Debug, Release]
32+
33+
steps:
34+
- uses: actions/checkout@v2
35+
36+
- name: Configure CMake
37+
shell: pwsh
38+
working-directory: ${{runner.workspace}}
39+
run: |
40+
cmake -H${{github.event.repository.name}} -Bbuild `
41+
-DCMAKE_CONFIGURATION_TYPES=${{matrix.build_type}} `
42+
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} `
43+
-G"Visual Studio 16 2019" -A x64 `
44+
-DCPPSORT_BUILD_EXAMPLES=ON
45+
46+
- name: Build the test suite
47+
working-directory: ${{runner.workspace}}/build
48+
run: cmake --build . --config ${{matrix.build_type}} -j 2
49+
50+
- name: Run the test suite
51+
env:
52+
CTEST_OUTPUT_ON_FAILURE: 1
53+
working-directory: ${{runner.workspace}}/build
54+
run: ctest -C ${{matrix.build_type}}

CMakeLists.txt

+6-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 3.8.0)
55

66
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
77

8-
project(cpp-sort VERSION 1.9.0 LANGUAGES CXX)
8+
project(cpp-sort VERSION 1.10.0 LANGUAGES CXX)
99

1010
include(CMakePackageConfigHelpers)
1111
include(GNUInstallDirs)
@@ -25,6 +25,11 @@ target_include_directories(cpp-sort INTERFACE
2525

2626
target_compile_features(cpp-sort INTERFACE cxx_std_14)
2727

28+
# MSVC won't work without a stricter standard compliance
29+
if (MSVC)
30+
target_compile_options(cpp-sort INTERFACE /permissive-)
31+
endif()
32+
2833
add_library(cpp-sort::cpp-sort ALIAS cpp-sort)
2934

3035
# Install targets and files

README.md

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
[![Latest Release](https://img.shields.io/badge/release-1.9.0-blue.svg)](https://github.com/Morwenn/cpp-sort/releases/tag/1.9.0)
2-
[![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)
1+
[![Latest Release](https://img.shields.io/badge/release-1.10.0-blue.svg)](https://github.com/Morwenn/cpp-sort/releases/tag/1.10.0)
2+
[![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)
33
[![Code Coverage](https://codecov.io/gh/Morwenn/cpp-sort/branch/develop/graph/badge.svg)](https://codecov.io/gh/Morwenn/cpp-sort)
44

55
> *It would be nice if only one or two of the sorting methods would dominate all of the others,
@@ -116,8 +116,9 @@ wiki page](https://github.com/Morwenn/cpp-sort/wiki/Benchmarks).
116116
**cpp-sort** currently requires C++14 support, and only works with g++5 and clang++3.8
117117
or more recent versions of these compilers. So far, the library should work with the
118118
following compilers:
119-
* g++5.5 or more recent. It it know not to work with some older g++5 versions.
119+
* g++5.5 or more recent. It is known not to work with some older g++5 versions.
120120
* 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.
121+
* Visual Studio 2019 version 16.8.3 or more recent, only with `/permissive-`. A few features are unavailable.
121122
* The versions of MinGW-w64 and AppleClang equivalent to the compilers mentioned above.
122123
* Clang is notably tested with both libstdc++ and libc++.
123124

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

129-
Last time I tried it did not work with the latest MSVC. Future development on the C++14 branch
130-
will try to remain compatible with the compiler versions listed above. I might try to make it
131-
work with MSVC in the future.
132-
133130
The features in the library might differ depending on the C++ version used and on the compiler
134131
extensions enabled. Those changes [are documented](https://github.com/Morwenn/cpp-sort/wiki/Changelog)
135132
in the wiki.

0 commit comments

Comments
 (0)