From cd76f59af6852d577c334e75a9fae16b1f3b572f Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Tue, 12 May 2020 20:26:17 +0200 Subject: [PATCH 01/15] :construction_worker: add more GitHub actions workflows --- .github/workflows/macos.yml | 19 +++++++++++++++++++ .github/workflows/{ccpp.yml => ubuntu.yml} | 4 ++-- .github/workflows/windows.yml | 19 +++++++++++++++++++ 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/macos.yml rename .github/workflows/{ccpp.yml => ubuntu.yml} (93%) create mode 100644 .github/workflows/windows.yml diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml new file mode 100644 index 00000000..f00d5ff3 --- /dev/null +++ b/.github/workflows/macos.yml @@ -0,0 +1,19 @@ +name: Windows + +on: [push] + +jobs: + build: + + runs-on: windows-latest + + steps: + - uses: actions/checkout@v1 + - name: prepare + run: mkdir build + - name: cmake + run: cd build ; cmake .. + - name: build + run: make -C build + - name: test + run: cd build ; ctest -j 10 diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ubuntu.yml similarity index 93% rename from .github/workflows/ccpp.yml rename to .github/workflows/ubuntu.yml index c6f8afb3..cedc0278 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ubuntu.yml @@ -1,4 +1,4 @@ -name: C/C++ CI +name: Ubuntu on: [push] @@ -6,7 +6,7 @@ jobs: build: runs-on: ubuntu-latest - + steps: - uses: actions/checkout@v1 - name: prepare diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 00000000..1116e1ca --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,19 @@ +name: macOS + +on: [push] + +jobs: + build: + + runs-on: macos-latest + + steps: + - uses: actions/checkout@v1 + - name: prepare + run: mkdir build + - name: cmake + run: cd build ; cmake .. + - name: build + run: make -C build + - name: test + run: cd build ; ctest -j 10 From ab02b0829688a812da2c092c7ce496ebf28d6452 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Tue, 12 May 2020 20:30:11 +0200 Subject: [PATCH 02/15] :construction_worker: rename workflows --- .github/workflows/macos.yml | 4 ++-- .github/workflows/windows.yml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index f00d5ff3..1116e1ca 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -1,11 +1,11 @@ -name: Windows +name: macOS on: [push] jobs: build: - runs-on: windows-latest + runs-on: macos-latest steps: - uses: actions/checkout@v1 diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 1116e1ca..ea467fb6 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -1,18 +1,18 @@ -name: macOS +name: Windows on: [push] jobs: build: - runs-on: macos-latest + runs-on: windows-latest steps: - uses: actions/checkout@v1 - name: prepare run: mkdir build - name: cmake - run: cd build ; cmake .. + run: cd build ; cmake .. -G "Visual Studio 16 2019" - name: build run: make -C build - name: test From 6e59c8301ad474e6bea311a10563d703add1d3da Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Tue, 12 May 2020 20:37:50 +0200 Subject: [PATCH 03/15] :construction_worker: simplify CMake invocations --- .github/workflows/macos.yml | 6 ++---- .github/workflows/ubuntu.yml | 6 ++---- .github/workflows/windows.yml | 6 ++---- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 1116e1ca..3647bc02 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -9,11 +9,9 @@ jobs: steps: - uses: actions/checkout@v1 - - name: prepare - run: mkdir build - name: cmake - run: cd build ; cmake .. + run: cmake -S . -B build - name: build - run: make -C build + run: cmake --build build - name: test run: cd build ; ctest -j 10 diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index cedc0278..902afc5b 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -9,11 +9,9 @@ jobs: steps: - uses: actions/checkout@v1 - - name: prepare - run: mkdir build - name: cmake - run: cd build ; cmake .. + run: cmake -S . -B build - name: build - run: make -C build + run: cmake --build build - name: test run: cd build ; ctest -j 10 diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index ea467fb6..3ba59059 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -9,11 +9,9 @@ jobs: steps: - uses: actions/checkout@v1 - - name: prepare - run: mkdir build - name: cmake - run: cd build ; cmake .. -G "Visual Studio 16 2019" + run: cmake -S . -B build -G "Visual Studio 16 2019" - name: build - run: make -C build + run: cmake --build build - name: test run: cd build ; ctest -j 10 From 77e0ba87506fc614b5dc23669d32902595beb4b4 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Tue, 12 May 2020 20:45:18 +0200 Subject: [PATCH 04/15] :construction_worker: parallelize builds --- .github/workflows/macos.yml | 2 +- .github/workflows/ubuntu.yml | 2 +- .github/workflows/windows.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 3647bc02..dbace9c3 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -12,6 +12,6 @@ jobs: - name: cmake run: cmake -S . -B build - name: build - run: cmake --build build + run: cmake --build build --parallel 10 - name: test run: cd build ; ctest -j 10 diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 902afc5b..77927966 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -12,6 +12,6 @@ jobs: - name: cmake run: cmake -S . -B build - name: build - run: cmake --build build + run: cmake --build build --parallel 10 - name: test run: cd build ; ctest -j 10 diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 3ba59059..d3fb8cbd 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -12,6 +12,6 @@ jobs: - name: cmake run: cmake -S . -B build -G "Visual Studio 16 2019" - name: build - run: cmake --build build + run: cmake --build build --parallel 10 - name: test - run: cd build ; ctest -j 10 + run: cd build ; ctest -j 10 -C Release From 44a2158b18876afb70ebfe7c1afa9c8ab7545038 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Tue, 12 May 2020 20:51:45 +0200 Subject: [PATCH 05/15] :construction_worker: make debug build --- .github/workflows/macos.yml | 2 +- .github/workflows/ubuntu.yml | 2 +- .github/workflows/windows.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index dbace9c3..ff700dc1 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -10,7 +10,7 @@ jobs: steps: - uses: actions/checkout@v1 - name: cmake - run: cmake -S . -B build + run: cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug - name: build run: cmake --build build --parallel 10 - name: test diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 77927966..aa2aa1da 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -10,7 +10,7 @@ jobs: steps: - uses: actions/checkout@v1 - name: cmake - run: cmake -S . -B build + run: cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug - name: build run: cmake --build build --parallel 10 - name: test diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index d3fb8cbd..81517fa6 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -10,8 +10,8 @@ jobs: steps: - uses: actions/checkout@v1 - name: cmake - run: cmake -S . -B build -G "Visual Studio 16 2019" + run: cmake -S . -B build -G "Visual Studio 16 2019" -D CMAKE_BUILD_TYPE=Debug - name: build run: cmake --build build --parallel 10 - name: test - run: cd build ; ctest -j 10 -C Release + run: cd build ; ctest -j 10 -C Debug From 8c44c7b6de1ea68993f400b9c10e71307383ea3a Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Tue, 12 May 2020 21:18:08 +0200 Subject: [PATCH 06/15] :checkered_flag: set Windows CI to Release mode --- .github/workflows/windows.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 81517fa6..f1cf8a08 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -10,8 +10,8 @@ jobs: steps: - uses: actions/checkout@v1 - name: cmake - run: cmake -S . -B build -G "Visual Studio 16 2019" -D CMAKE_BUILD_TYPE=Debug + run: cmake -S . -B build -G "Visual Studio 16 2019" -D CMAKE_BUILD_TYPE=Release - name: build run: cmake --build build --parallel 10 - name: test - run: cd build ; ctest -j 10 -C Debug + run: cd build ; ctest -j 10 -C Release From 94115a302e43da82feb6192a8592ad1e79d2a8e7 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Tue, 12 May 2020 21:22:47 +0200 Subject: [PATCH 07/15] :checkered_flag: exclude slow Unicode test --- .github/workflows/windows.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index f1cf8a08..ceb6c9e9 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -10,8 +10,8 @@ jobs: steps: - uses: actions/checkout@v1 - name: cmake - run: cmake -S . -B build -G "Visual Studio 16 2019" -D CMAKE_BUILD_TYPE=Release + run: cmake -S . -B build -G "Visual Studio 16 2019" -D CMAKE_BUILD_TYPE=Debug - name: build run: cmake --build build --parallel 10 - name: test - run: cd build ; ctest -j 10 -C Release + run: cd build ; ctest -j 10 -C Debug --exclude-regex "test-unicode" From 7dbe5cf904f34c69045324d28f2ebf86f246990b Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Tue, 12 May 2020 21:43:33 +0200 Subject: [PATCH 08/15] :memo: update badges --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 612b8a66..1a523472 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,11 @@ [![Build Status](https://travis-ci.org/nlohmann/json.svg?branch=master)](https://travis-ci.org/nlohmann/json) [![Build Status](https://ci.appveyor.com/api/projects/status/1acb366xfyg3qybk/branch/develop?svg=true)](https://ci.appveyor.com/project/nlohmann/json) +![Ubuntu](https://github.com/nlohmann/json/workflows/Ubuntu/badge.svg) +![macOS](https://github.com/nlohmann/json/workflows/macOS/badge.svg) +![Windows](https://github.com/nlohmann/json/workflows/Windows/badge.svg) [![Build Status](https://circleci.com/gh/nlohmann/json.svg?style=svg)](https://circleci.com/gh/nlohmann/json) -[![Coverage Status](https://img.shields.io/coveralls/nlohmann/json.svg)](https://coveralls.io/r/nlohmann/json) +[![Coverage Status](https://coveralls.io/repos/github/nlohmann/json/badge.svg?branch=develop)](https://coveralls.io/github/nlohmann/json?branch=develop) [![Coverity Scan Build Status](https://scan.coverity.com/projects/5550/badge.svg)](https://scan.coverity.com/projects/nlohmann-json) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/f3732b3327e34358a0e9d1fe9f661f08)](https://www.codacy.com/app/nlohmann/json?utm_source=github.com&utm_medium=referral&utm_content=nlohmann/json&utm_campaign=Badge_Grade) [![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/nlohmann/json.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/nlohmann/json/context:cpp) From 6778ad8b0a84d1cdc536ada8b63947c4d0df8bdb Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Tue, 12 May 2020 22:26:55 +0200 Subject: [PATCH 09/15] :memo: update year --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1a523472..d439d4a8 100644 --- a/README.md +++ b/README.md @@ -1053,10 +1053,10 @@ json j_from_ubjson = json::from_ubjson(v_ubjson); ## Supported compilers -Though it's 2019 already, the support for C++11 is still a bit sparse. Currently, the following compilers are known to work: +Though it's 2020 already, the support for C++11 is still a bit sparse. Currently, the following compilers are known to work: -- GCC 4.8 - 9.2 (and possibly later) -- Clang 3.4 - 9.0 (and possibly later) +- GCC 4.8 - 10.0 (and possibly later) +- Clang 3.4 - 10.0 (and possibly later) - Intel C++ Compiler 17.0.2 (and possibly later) - Microsoft Visual C++ 2015 / Build Tools 14.0.25123.0 (and possibly later) - Microsoft Visual C++ 2017 / Build Tools 15.5.180.51428 (and possibly later) From f6f350a5c74b76eaa77e8d07ba281a004477aaa7 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Wed, 13 May 2020 14:25:51 +0200 Subject: [PATCH 10/15] :loud_sound: add operating system output --- cmake/download_test_data.cmake | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cmake/download_test_data.cmake b/cmake/download_test_data.cmake index c6dc135b..757998d2 100644 --- a/cmake/download_test_data.cmake +++ b/cmake/download_test_data.cmake @@ -12,3 +12,15 @@ add_custom_target(download_test_data # create a header with the path to the downloaded test data file(WRITE ${CMAKE_BINARY_DIR}/include/test_data.hpp "#define TEST_DATA_DIRECTORY \"${CMAKE_BINARY_DIR}/json_test_data\"\n") + +# determine the operating system (for debug and support purposes) +find_program(UNAME_COMMAND uname) +find_program(VER_COMMAND ver) +if (UNAME_COMMAND) + execute_process(COMMAND ${UNAME_COMMAND} -a OUTPUT_VARIABLE UNAME_COMMAND_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) +endif() +if (VER_COMMAND) + execute_process(COMMAND ${VER_COMMAND} OUTPUT_VARIABLE VER_COMMAND_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) +endif() + +message(STATUS "Operating system: ${UNAME_COMMAND_RESULT} ${VER_COMMAND_RESULT} ${CMAKE_SYSTEM}") From ec68bb33872f6b6808b0a89f930af387f8ccf416 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Wed, 13 May 2020 20:18:56 +0200 Subject: [PATCH 11/15] :memo: update CI list --- README.md | 57 +++++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index d439d4a8..5c6272b0 100644 --- a/README.md +++ b/README.md @@ -1081,36 +1081,35 @@ Please note: - Unsupported versions of GCC and Clang are rejected by `#error` directives. This can be switched off by defining `JSON_SKIP_UNSUPPORTED_COMPILER_CHECK`. Note that you can expect no support in this case. -The following compilers are currently used in continuous integration at [Travis](https://travis-ci.org/nlohmann/json), [AppVeyor](https://ci.appveyor.com/project/nlohmann/json), and [CircleCI](https://circleci.com/gh/nlohmann/json): +The following compilers are currently used in continuous integration at [Travis](https://travis-ci.org/nlohmann/json), [AppVeyor](https://ci.appveyor.com/project/nlohmann/json), [GitHub Actions](https://github.com/nlohmann/json/actions), and [CircleCI](https://circleci.com/gh/nlohmann/json): -| Compiler | Operating System | Version String | -|-----------------------|------------------------------|----------------| -| GCC 4.8.5 | Ubuntu 14.04.5 LTS | g++-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.2) 4.8.5 | -| GCC 4.9.4 | Ubuntu 14.04.1 LTS | g++-4.9 (Ubuntu 4.9.4-2ubuntu1~14.04.1) 4.9.4 | -| GCC 5.5.0 | Ubuntu 14.04.1 LTS | g++-5 (Ubuntu 5.5.0-12ubuntu1~14.04) 5.5.0 20171010 | -| GCC 6.3.0 | Debian 9 (stretch) | g++ (Debian 6.3.0-18+deb9u1) 6.3.0 20170516 | -| GCC 6.4.0 | Ubuntu 14.04.1 LTS | g++-6 (Ubuntu 6.4.0-17ubuntu1~14.04) 6.4.0 20180424 | -| GCC 7.3.0 | Ubuntu 14.04.1 LTS | g++-7 (Ubuntu 7.3.0-21ubuntu1~14.04) 7.3.0 | -| GCC 7.3.0 | Windows Server 2012 R2 (x64) | g++ (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 7.3.0 | -| GCC 8.1.0 | Ubuntu 14.04.1 LTS | g++-8 (Ubuntu 8.1.0-5ubuntu1~14.04) 8.1.0 | -| GCC 9.2.1 | Ubuntu 14.05.1 LTS | g++-9 (Ubuntu 9.2.1-16ubuntu1~14.04.1) 9.2.1 20191030 | -| Clang 3.5.0 | Ubuntu 14.04.1 LTS | clang version 3.5.0-4ubuntu2~trusty2 (tags/RELEASE_350/final) (based on LLVM 3.5.0) | -| Clang 3.6.2 | Ubuntu 14.04.1 LTS | clang version 3.6.2-svn240577-1~exp1 (branches/release_36) (based on LLVM 3.6.2) | -| Clang 3.7.1 | Ubuntu 14.04.1 LTS | clang version 3.7.1-svn253571-1~exp1 (branches/release_37) (based on LLVM 3.7.1) | -| Clang 3.8.0 | Ubuntu 14.04.1 LTS | clang version 3.8.0-2ubuntu3~trusty5 (tags/RELEASE_380/final) | -| Clang 3.9.1 | Ubuntu 14.04.1 LTS | clang version 3.9.1-4ubuntu3~14.04.3 (tags/RELEASE_391/rc2) | -| Clang 4.0.1 | Ubuntu 14.04.1 LTS | clang version 4.0.1-svn305264-1~exp1 (branches/release_40) | -| Clang 5.0.2 | Ubuntu 14.04.1 LTS | clang version 5.0.2-svn328729-1~exp1~20180509123505.100 (branches/release_50) | -| Clang 6.0.1 | Ubuntu 14.04.1 LTS | clang version 6.0.1-svn334776-1~exp1~20180726133705.85 (branches/release_60) | -| Clang 7.0.1 | Ubuntu 14.04.1 LTS | clang version 7.0.1-svn348686-1~exp1~20181213084532.54 (branches/release_70) | -| Clang Xcode 9.3 | OSX 10.13.3 | Apple LLVM version 9.1.0 (clang-902.0.39.2) | -| Clang Xcode 10.0 | OSX 10.13.3 | Apple LLVM version 10.0.0 (clang-1000.11.45.2) | -| Clang Xcode 10.1 | OSX 10.13.3 | Apple LLVM version 10.0.0 (clang-1000.11.45.5) | -| Clang Xcode 10.2 | OSX 10.14.4 | Apple LLVM version 10.0.1 (clang-1001.0.46.4) | -| Clang Xcode 11.2.1 | OSX 10.14.4 | Apple LLVM version 11.0.0 (clang-1100.0.33.12) | -| Visual Studio 14 2015 | Windows Server 2012 R2 (x64) | Microsoft (R) Build Engine version 14.0.25420.1, MSVC 19.0.24215.1 | -| Visual Studio 15 2017 | Windows Server 2012 R2 (x64) | Microsoft (R) Build Engine version 15.9.21+g9802d43bc3, MSVC 19.16.27032.1 | -| Visual Studio 16 2019 | Windows Server 2012 R2 (x64) | Microsoft (R) Build Engine version 16.3.1+1def00d3d, MSVC 19.23.28106.4 | +| Compiler | Operating System | CI Provider | +|----------------------------|--------------------------|----------------| +| AppleClang 10.0.0.10001145 | Darwin-17.7.0 | Travis | +| AppleClang 10.0.1.10010046 | Darwin-18.5.0 | Travis | +| AppleClang 11.0.0.11000033 | Darwin-18.7.0 | Travis | +| AppleClang 11.0.3.11030032 | Darwin-19.4.0 | GitHub Actions | +| AppleClang 9.1.0.9020039 | Darwin-17.4.0 | Travis | +| AppleClang 9.1.0.9020039 | Darwin-17.7.0 | Travis | +| Clang 3.5.0 | Linux-4.4.0-104-generic | Travis | +| Clang 3.6.2 | Linux-4.4.0-104-generic | Travis | +| Clang 3.7.1 | Linux-4.4.0-104-generic | Travis | +| Clang 3.8.0 | Linux-4.4.0-104-generic | Travis | +| Clang 3.9.1 | Linux-4.4.0-104-generic | Travis | +| Clang 4.0.1 | Linux-4.4.0-104-generic | Travis | +| Clang 5.0.2 | Linux-4.4.0-104-generic | Travis | +| Clang 6.0.1 | Linux-4.4.0-104-generic | Travis | +| Clang 7.1.0 | Linux-4.4.0-104-generi | Travis | +| GNU 4.8.5 | Linux-4.4.0-104-generic | Travis | +| GNU 4.9.4 | Linux-4.4.0-104-generic | Travis | +| GNU 5.5.0 | Linux-4.4.0-104-generic | Travis | +| GNU 6.3.0 | Linux-5.3.0-1017-aws | Circle CI | +| GNU 6.5.0 | Linux-4.4.0-104-generic | Travis | +| GNU 7.5.0 | Linux-4.4.0-104-generic | Travis | +| GNU 7.5.0 | Linux-5.3.0-1020-azure | GitHub Actions | +| GNU 8.4.0 | Linux-4.4.0-104-generic | Travis | +| GNU 9.3.0 | Linux-4.4.0-104-generic | Travis | +| MSVC 19.25.28614.0 | Windows-10.0.17763 | GitHub Actions | ## License From 33ae93beed9cbebdf2206c88d62c8385a7de1207 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Thu, 14 May 2020 07:55:01 +0200 Subject: [PATCH 12/15] :memo: update CI list --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5c6272b0..adeb36bb 100644 --- a/README.md +++ b/README.md @@ -1085,12 +1085,12 @@ The following compilers are currently used in continuous integration at [Travis] | Compiler | Operating System | CI Provider | |----------------------------|--------------------------|----------------| +| AppleClang 9.1.0.9020039 | Darwin-17.4.0 | Travis | +| AppleClang 9.1.0.9020039 | Darwin-17.7.0 | Travis | | AppleClang 10.0.0.10001145 | Darwin-17.7.0 | Travis | | AppleClang 10.0.1.10010046 | Darwin-18.5.0 | Travis | | AppleClang 11.0.0.11000033 | Darwin-18.7.0 | Travis | | AppleClang 11.0.3.11030032 | Darwin-19.4.0 | GitHub Actions | -| AppleClang 9.1.0.9020039 | Darwin-17.4.0 | Travis | -| AppleClang 9.1.0.9020039 | Darwin-17.7.0 | Travis | | Clang 3.5.0 | Linux-4.4.0-104-generic | Travis | | Clang 3.6.2 | Linux-4.4.0-104-generic | Travis | | Clang 3.7.1 | Linux-4.4.0-104-generic | Travis | @@ -1105,10 +1105,14 @@ The following compilers are currently used in continuous integration at [Travis] | GNU 5.5.0 | Linux-4.4.0-104-generic | Travis | | GNU 6.3.0 | Linux-5.3.0-1017-aws | Circle CI | | GNU 6.5.0 | Linux-4.4.0-104-generic | Travis | +| GNU 7.3.0 (MinGW) | Windows-6.3.9600 | AppVeyor | | GNU 7.5.0 | Linux-4.4.0-104-generic | Travis | | GNU 7.5.0 | Linux-5.3.0-1020-azure | GitHub Actions | | GNU 8.4.0 | Linux-4.4.0-104-generic | Travis | | GNU 9.3.0 | Linux-4.4.0-104-generic | Travis | +| MSVC 19.0.24241.7 | Windows-6.3.9600 | AppVeyor | +| MSVC 19.16.27035.0 | Windows-10.0.14393 | AppVeyor | +| MSVC 19.25.28614.0 | Windows-10.0.17763 | AppVeyor | | MSVC 19.25.28614.0 | Windows-10.0.17763 | GitHub Actions | ## License From e91236e6d36baeb6cd2a2f8443e793cb922e4dc7 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Thu, 14 May 2020 13:33:10 +0200 Subject: [PATCH 13/15] :loud_sound: add compiler version output --- cmake/download_test_data.cmake | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/cmake/download_test_data.cmake b/cmake/download_test_data.cmake index 757998d2..64845bd4 100644 --- a/cmake/download_test_data.cmake +++ b/cmake/download_test_data.cmake @@ -16,11 +16,36 @@ file(WRITE ${CMAKE_BINARY_DIR}/include/test_data.hpp "#define TEST_DATA_DIRECTOR # determine the operating system (for debug and support purposes) find_program(UNAME_COMMAND uname) find_program(VER_COMMAND ver) -if (UNAME_COMMAND) - execute_process(COMMAND ${UNAME_COMMAND} -a OUTPUT_VARIABLE UNAME_COMMAND_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) -endif() +find_program(LSB_RELEASE_COMMAND lsb_release) +find_program(SW_VERS_COMMAND sw_vers) +set(OS_VERSION_STRINGS "${CMAKE_SYSTEM}") if (VER_COMMAND) execute_process(COMMAND ${VER_COMMAND} OUTPUT_VARIABLE VER_COMMAND_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) + set(OS_VERSION_STRINGS "${OS_VERSION_STRINGS}; ${VER_COMMAND_RESULT}") +endif() +if (SW_VERS_COMMAND) + execute_process(COMMAND ${SW_VERS_COMMAND} OUTPUT_VARIABLE SW_VERS_COMMAND_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX REPLACE "[ ]*\n" "; " SW_VERS_COMMAND_RESULT "${SW_VERS_COMMAND_RESULT}") + set(OS_VERSION_STRINGS "${OS_VERSION_STRINGS}; ${SW_VERS_COMMAND_RESULT}") +endif() +if (LSB_RELEASE_COMMAND) + execute_process(COMMAND ${LSB_RELEASE_COMMAND} -a OUTPUT_VARIABLE LSB_RELEASE_COMMAND_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX REPLACE "[ ]*\n" "; " LSB_RELEASE_COMMAND_RESULT "${LSB_RELEASE_COMMAND_RESULT}") + set(OS_VERSION_STRINGS "${OS_VERSION_STRINGS}; ${LSB_RELEASE_COMMAND_RESULT}") +endif() +if (UNAME_COMMAND) + execute_process(COMMAND ${UNAME_COMMAND} -a OUTPUT_VARIABLE UNAME_COMMAND_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) + set(OS_VERSION_STRINGS "${OS_VERSION_STRINGS}; ${UNAME_COMMAND_RESULT}") endif() -message(STATUS "Operating system: ${UNAME_COMMAND_RESULT} ${VER_COMMAND_RESULT} ${CMAKE_SYSTEM}") +message(STATUS "Operating system: ${OS_VERSION_STRINGS}") + +# determine the compiler (for debug and support purposes) +if (MSVC) + execute_process(COMMAND ${CMAKE_CXX_COMPILER} OUTPUT_VARIABLE CXX_VERSION_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) + set(CMAKE_CXX_COMPILER "${CXX_VERSION_RESULT}; MSVC_VERSION=${MSVC_VERSION}; MSVC_TOOLSET_VERSION=${MSVC_TOOLSET_VERSION}") +else() + execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version OUTPUT_VARIABLE CXX_VERSION_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) +endif() +string(REGEX REPLACE "[ ]*\n" "; " CXX_VERSION_RESULT "${CXX_VERSION_RESULT}") +message(STATUS "Compiler: ${CXX_VERSION_RESULT}") From f4cc7290549d75185a0203b320c9ce345e347af6 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Thu, 14 May 2020 13:37:59 +0200 Subject: [PATCH 14/15] :loud_sound: add compiler version output --- cmake/download_test_data.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/download_test_data.cmake b/cmake/download_test_data.cmake index 64845bd4..0940382a 100644 --- a/cmake/download_test_data.cmake +++ b/cmake/download_test_data.cmake @@ -42,7 +42,7 @@ message(STATUS "Operating system: ${OS_VERSION_STRINGS}") # determine the compiler (for debug and support purposes) if (MSVC) - execute_process(COMMAND ${CMAKE_CXX_COMPILER} OUTPUT_VARIABLE CXX_VERSION_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${CMAKE_CXX_COMPILER} OUTPUT_VARIABLE CXX_VERSION_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE CXX_VERSION_RESULT ERROR_STRIP_TRAILING_WHITESPACE) set(CMAKE_CXX_COMPILER "${CXX_VERSION_RESULT}; MSVC_VERSION=${MSVC_VERSION}; MSVC_TOOLSET_VERSION=${MSVC_TOOLSET_VERSION}") else() execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version OUTPUT_VARIABLE CXX_VERSION_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) From fc267af9092bc2042b37d844053ad934397ae631 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Thu, 14 May 2020 17:53:00 +0200 Subject: [PATCH 15/15] :memo: update CI list --- README.md | 64 ++++++++++++++++++---------------- cmake/download_test_data.cmake | 6 ++-- 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index adeb36bb..fa5cef68 100644 --- a/README.md +++ b/README.md @@ -1083,37 +1083,39 @@ Please note: The following compilers are currently used in continuous integration at [Travis](https://travis-ci.org/nlohmann/json), [AppVeyor](https://ci.appveyor.com/project/nlohmann/json), [GitHub Actions](https://github.com/nlohmann/json/actions), and [CircleCI](https://circleci.com/gh/nlohmann/json): -| Compiler | Operating System | CI Provider | -|----------------------------|--------------------------|----------------| -| AppleClang 9.1.0.9020039 | Darwin-17.4.0 | Travis | -| AppleClang 9.1.0.9020039 | Darwin-17.7.0 | Travis | -| AppleClang 10.0.0.10001145 | Darwin-17.7.0 | Travis | -| AppleClang 10.0.1.10010046 | Darwin-18.5.0 | Travis | -| AppleClang 11.0.0.11000033 | Darwin-18.7.0 | Travis | -| AppleClang 11.0.3.11030032 | Darwin-19.4.0 | GitHub Actions | -| Clang 3.5.0 | Linux-4.4.0-104-generic | Travis | -| Clang 3.6.2 | Linux-4.4.0-104-generic | Travis | -| Clang 3.7.1 | Linux-4.4.0-104-generic | Travis | -| Clang 3.8.0 | Linux-4.4.0-104-generic | Travis | -| Clang 3.9.1 | Linux-4.4.0-104-generic | Travis | -| Clang 4.0.1 | Linux-4.4.0-104-generic | Travis | -| Clang 5.0.2 | Linux-4.4.0-104-generic | Travis | -| Clang 6.0.1 | Linux-4.4.0-104-generic | Travis | -| Clang 7.1.0 | Linux-4.4.0-104-generi | Travis | -| GNU 4.8.5 | Linux-4.4.0-104-generic | Travis | -| GNU 4.9.4 | Linux-4.4.0-104-generic | Travis | -| GNU 5.5.0 | Linux-4.4.0-104-generic | Travis | -| GNU 6.3.0 | Linux-5.3.0-1017-aws | Circle CI | -| GNU 6.5.0 | Linux-4.4.0-104-generic | Travis | -| GNU 7.3.0 (MinGW) | Windows-6.3.9600 | AppVeyor | -| GNU 7.5.0 | Linux-4.4.0-104-generic | Travis | -| GNU 7.5.0 | Linux-5.3.0-1020-azure | GitHub Actions | -| GNU 8.4.0 | Linux-4.4.0-104-generic | Travis | -| GNU 9.3.0 | Linux-4.4.0-104-generic | Travis | -| MSVC 19.0.24241.7 | Windows-6.3.9600 | AppVeyor | -| MSVC 19.16.27035.0 | Windows-10.0.14393 | AppVeyor | -| MSVC 19.25.28614.0 | Windows-10.0.17763 | AppVeyor | -| MSVC 19.25.28614.0 | Windows-10.0.17763 | GitHub Actions | +| Compiler | Operating System | CI Provider | +|-----------------------------------------------------------------|--------------------|----------------| +| Apple Clang 9.1.0 (clang-902.0.39.1); Xcode 9.3 | macOS 10.13.3 | Travis | +| Apple Clang 9.1.0 (clang-902.0.39.2); Xcode 9.4.1 | macOS 10.13.6 | Travis | +| Apple Clang 10.0.0 (clang-1000.11.45.2); Xcode 10.0 | macOS 10.13.6 | Travis | +| Apple Clang 10.0.0 (clang-1000.11.45.5); Xcode 10.1 | macOS 10.13.6 | Travis | +| Apple Clang 10.0.1 (clang-1001.0.46.4); Xcode 10.2.1 | macOS 10.14.4 | Travis | +| Apple Clang 11.0.0 (clang-1100.0.33.12); Xcode 11.2.1 | macOS 10.14.6 | Travis | +| Apple Clang 11.0.3 (clang-1103.0.32.59); Xcode 11.4.1 | macOS 10.15.4 | GitHub Actions | +| Clang 3.5.0 (3.5.0-4ubuntu2~trusty2) | Ubuntu 14.04.5 LTS | Travis | +| Clang 3.6.2 (3.6.2-svn240577-1~exp1) | Ubuntu 14.04.5 LTS | Travis | +| Clang 3.7.1 (3.7.1-svn253571-1~exp1) | Ubuntu 14.04.5 LTS | Travis | +| Clang 3.8.0 (3.8.0-2ubuntu3~trusty5) | Ubuntu 14.04.5 LTS | Travis | +| Clang 3.9.1 (3.9.1-4ubuntu3~14.04.3) | Ubuntu 14.04.5 LTS | Travis | +| Clang 4.0.1 (4.0.1-svn305264-1~exp1) | Ubuntu 14.04.5 LTS | Travis | +| Clang 5.0.2 (version 5.0.2-svn328729-1~exp1~20180509123505.100) | Ubuntu 14.04.5 LTS | Travis | +| Clang 6.0.1 (6.0.1-svn334776-1~exp1~20190309042707.121) | Ubuntu 14.04.5 LTS | Travis | +| Clang 7.1.0 (7.1.0-svn353565-1~exp1~20190419134007.64) | Ubuntu 14.04.5 LTS | Travis | +| Clang 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) | Ubuntu 18.04.4 LTS | Travis | +| GCC 4.8.5 (Ubuntu 4.8.5-4ubuntu8~14.04.2) | Ubuntu 14.04.5 LTS | Travis | +| GCC 4.9.4 (Ubuntu 4.9.4-2ubuntu1~14.04.1) | Ubuntu 14.04.5 LTS | Travis | +| GCC 5.5.0 (Ubuntu 5.5.0-12ubuntu1~14.04) | Ubuntu 14.04.5 LTS | Travis | +| GCC 6.3.0 (Debian 6.3.0-18+deb9u1) | Debian 9 | Circle CI | +| GCC 6.5.0 (Ubuntu 6.5.0-2ubuntu1~14.04.1) | Ubuntu 14.04.5 LTS | Travis | +| GCC 7.3.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project) | Windows-6.3.9600 | AppVeyor | +| GCC 7.5.0 (Ubuntu 7.5.0-3ubuntu1~14.04.1) | Ubuntu 14.04.5 LTS | Travis | +| GCC 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) | Ubuntu 18.04.4 LTS | GitHub Actions | +| GCC 8.4.0 (Ubuntu 8.4.0-1ubuntu1~14.04) | Ubuntu 14.04.5 LTS | Travis | +| GCC 9.3.0 (Ubuntu 9.3.0-11ubuntu0~14.04) | Ubuntu 14.04.5 LTS | Travis | +| MSVC 19.0.24241.7 (Build Engine version 14.0.25420.1) | Windows-6.3.9600 | AppVeyor | +| MSVC 19.16.27035.0 (15.9.21+g9802d43bc3 for .NET Framework) | Windows-10.0.14393 | AppVeyor | +| MSVC 19.25.28614.0 (Build Engine version 16.5.0+d4cbfca49 for .NET Framework) | Windows-10.0.17763 | AppVeyor | +| MSVC 19.25.28614.0 (Build Engine version 16.5.0+d4cbfca49 for .NET Framework) | Windows-10.0.17763 | GitHub Actions | ## License diff --git a/cmake/download_test_data.cmake b/cmake/download_test_data.cmake index 0940382a..53aef17f 100644 --- a/cmake/download_test_data.cmake +++ b/cmake/download_test_data.cmake @@ -24,17 +24,17 @@ if (VER_COMMAND) set(OS_VERSION_STRINGS "${OS_VERSION_STRINGS}; ${VER_COMMAND_RESULT}") endif() if (SW_VERS_COMMAND) - execute_process(COMMAND ${SW_VERS_COMMAND} OUTPUT_VARIABLE SW_VERS_COMMAND_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${SW_VERS_COMMAND} OUTPUT_VARIABLE SW_VERS_COMMAND_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) string(REGEX REPLACE "[ ]*\n" "; " SW_VERS_COMMAND_RESULT "${SW_VERS_COMMAND_RESULT}") set(OS_VERSION_STRINGS "${OS_VERSION_STRINGS}; ${SW_VERS_COMMAND_RESULT}") endif() if (LSB_RELEASE_COMMAND) - execute_process(COMMAND ${LSB_RELEASE_COMMAND} -a OUTPUT_VARIABLE LSB_RELEASE_COMMAND_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${LSB_RELEASE_COMMAND} -a OUTPUT_VARIABLE LSB_RELEASE_COMMAND_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) string(REGEX REPLACE "[ ]*\n" "; " LSB_RELEASE_COMMAND_RESULT "${LSB_RELEASE_COMMAND_RESULT}") set(OS_VERSION_STRINGS "${OS_VERSION_STRINGS}; ${LSB_RELEASE_COMMAND_RESULT}") endif() if (UNAME_COMMAND) - execute_process(COMMAND ${UNAME_COMMAND} -a OUTPUT_VARIABLE UNAME_COMMAND_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${UNAME_COMMAND} -a OUTPUT_VARIABLE UNAME_COMMAND_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) set(OS_VERSION_STRINGS "${OS_VERSION_STRINGS}; ${UNAME_COMMAND_RESULT}") endif()