Merge branch 'feature/github-actions-for-windows-compilers' into development

# Conflicts:
#	.github/workflows/clang.yml
#	CMakeLists.txt
#	include/etl/version.h
#	library.json
#	library.properties
#	support/Release notes.txt
#	test/vs2019/etl.vcxproj
#	test/vs2019/etl.vcxproj.filters
This commit is contained in:
John Wellbelove 2020-10-02 18:18:20 +01:00
commit 0bd0067022
12 changed files with 149 additions and 35 deletions

View File

@ -1,4 +1,4 @@
name: CI
name: clang
on:
push:
branches: [ master ]
@ -6,7 +6,29 @@ on:
branches: [ master ]
jobs:
build-gcc-linux:
build-clang-9-linux:
name: Clang-9 Linux
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: Build
run: |
export CC=clang-9
export CXX=clang++-9
cmake -D BUILD_TESTS=ON ./
clang --version
make
- name: Run tests
run: ./test/etl_tests
build-clang-9-linux-no-stl:
name: Clang-9 Linux - No STL
runs-on: ${{ matrix.os }}
strategy:
matrix:
@ -16,24 +38,6 @@ jobs:
- uses: actions/checkout@v2
- name: Build
run: |
cmake -DBUILD_TESTS=ON ./
gcc --version
make
- name: Run tests
run: ./test/etl_tests
build-gcc-linux-no-stl:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-18.04, ubuntu-20.04]
steps:
- uses: actions/checkout@v2
- name: Build and run
run: |
cmake -DBUILD_TESTS=ON -DNO_STL=ON ./
gcc --version
@ -55,7 +59,7 @@ jobs:
run: |
export CC=clang-9
export CXX=clang++-9
cmake -D BUILD_TESTS=ON ./
cmake -D BUILD_TESTS=ON -DNO_STL=ON ./
clang --version
make
@ -83,6 +87,7 @@ jobs:
run: ./test/etl_tests
build-clang-10-osx:
name: Clang-10 OSX
runs-on: ${{ matrix.os }}
strategy:
matrix:
@ -103,6 +108,7 @@ jobs:
run: ./test/etl_tests
build-clang-10-osx-no-stl:
name: Clang-10 OSX - No STL
runs-on: ${{ matrix.os }}
strategy:
matrix:
@ -111,7 +117,7 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Build and run
- name: Build
run: |
export CC=clang
export CXX=clang++

45
.github/workflows/gcc.yml vendored Normal file
View File

@ -0,0 +1,45 @@
name: gcc
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build-gcc-linux:
name: GCC Linux
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-18.04, ubuntu-20.04]
steps:
- uses: actions/checkout@v2
- name: Build
run: |
cmake -DBUILD_TESTS=ON ./
gcc --version
make
- name: Run tests
run: ./test/etl_tests
build-gcc-linux-no-stl:
name: GCC Linux - No STL
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-18.04, ubuntu-20.04]
steps:
- uses: actions/checkout@v2
- name: Build
run: |
cmake -DBUILD_TESTS=ON -DNO_STL=ON ./
gcc --version
make
- name: Run tests
run: ./test/etl_tests

49
.github/workflows/vs2019.yml vendored Normal file
View File

@ -0,0 +1,49 @@
name: vs2019
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build-windows-vs2019:
name: Windows VS2019 Debug
runs-on: [windows-latest]
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.1
- name: Build
run: |
cmake -G "Visual Studio 16 2019" -DBUILD_TESTS=ON ./
MSBuild.exe etl.sln
- name: Run tests
run: ./test/debug/etl_tests.exe
build-windows-vs2019-no-stl:
name: Windows VS2019 Debug - No STL
runs-on: [windows-latest]
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.1
- name: Build
run: |
cmake -G "Visual Studio 16 2019" -DBUILD_TESTS=ON -DNO_STL=ON ./
MSBuild.exe etl.sln
- name: Run tests
run: ./test/debug/etl_tests.exe

View File

@ -38,7 +38,7 @@ SOFTWARE.
#define ETL_8BIT_SUPPORT (CHAR_BIT == 8)
// Define a debug macro
#if defined(_DEBUG) || defined(DEBUG)
#if (defined(_DEBUG) || defined(DEBUG)) && !defined(ETL_DEBUG)
#define ETL_DEBUG
#endif

View File

@ -39,7 +39,7 @@ SOFTWARE.
#define ETL_VERSION_MAJOR 18
#define ETL_VERSION_MINOR 16
#define ETL_VERSION_PATCH 2
#define ETL_VERSION_PATCH 3
#define ETL_VERSION ETL_STRINGIFY(ETL_VERSION_MAJOR) "." ETL_STRINGIFY(ETL_VERSION_MINOR) "." ETL_STRINGIFY(ETL_VERSION_PATCH)
#define ETL_VERSION_W ETL_STRINGIFY(ETL_VERSION_MAJOR) L"." ETL_STRINGIFY(ETL_VERSION_MINOR) L"." ETL_STRINGIFY(ETL_VERSION_PATCH)
#define ETL_VERSION_U16 ETL_STRINGIFY(ETL_VERSION_MAJOR) u"." ETL_STRINGIFY(ETL_VERSION_MINOR) u"." ETL_STRINGIFY(ETL_VERSION_PATCH)

View File

@ -1,6 +1,6 @@
{
"name": "Embedded Template Library",
"version": "18.16.2",
"version": "18.16.3",
"authors": {
"name": "John Wellbelove",
"email": "john.wellbelove@etlcpp.com"

View File

@ -1,5 +1,5 @@
name=Embedded Template Library
version=18.16.2
version=18.16.3
author= John Wellbelove <john.wellbelove@etlcpp.com>
maintainer=John Wellbelove <john.wellbelove@etlcpp.com>
license=MIT

View File

@ -1,3 +1,8 @@
===============================================================================
18.16.3
Added VS2019 to CI configuration file.
Created separate VS2019, GCC and clang configuration files.
===============================================================================
18.16.2
Updates to CI configuration files to compile 'No STL' variants of the tests.

View File

@ -28,7 +28,6 @@ set(TEST_SOURCE_FILES
test_array.cpp
test_array_view.cpp
test_array_wrapper.cpp
test_atomic_gcc_sync.cpp
test_atomic_std.cpp
test_binary.cpp
test_bitset.cpp

View File

@ -804,14 +804,16 @@ namespace
std::vector<Data> compare_data;
etl::indirect_vector<Data, SIZE * 4> data;
const char* p = (const char* )0x12345678;
std::string s;
for (size_t i = 0; i < SIZE; ++i)
{
s += "x";
// 4 arguments
compare_data.emplace_back(s, i, static_cast<double>(i) + 0.1234, "emplace_back");
data.emplace_back(s, i, static_cast<double>(i) + 0.1234, "emplace_back");
compare_data.emplace_back(s, i, static_cast<double>(i) + 0.1234, p);
data.emplace_back(s, i, static_cast<double>(i) + 0.1234, p);
// 3 arguments
compare_data.emplace_back(s, i, static_cast<double>(i) + 0.1234);

View File

@ -1867,7 +1867,9 @@
</ItemGroup>
<ItemGroup>
<None Include="..\..\.circleci\config.yml" />
<None Include="..\..\.github\workflows\main.yml" />
<None Include="..\..\.github\workflows\clang.yml" />
<None Include="..\..\.github\workflows\gcc.yml" />
<None Include="..\..\.github\workflows\vs2019.yml" />
<None Include="..\..\appveyor.yml" />
<None Include="..\..\etl.pspimage" />
<None Include="..\..\etl.xar" />
@ -1905,4 +1907,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@ -1453,15 +1453,21 @@
<None Include="..\..\.circleci\config.yml">
<Filter>Resource Files\CI\CircleCI</Filter>
</None>
<None Include="..\..\.github\workflows\main.yml">
<Filter>Resource Files\CI\Github</Filter>
</None>
<None Include="..\cmake\unit-test_external_project.cmake">
<Filter>Resource Files\Make</Filter>
</None>
<None Include="..\..\appveyor.yml">
<Filter>Resource Files\CI\Appveyor</Filter>
</None>
<None Include="..\..\.github\workflows\clang.yml">
<Filter>Resource Files\CI\Github</Filter>
</None>
<None Include="..\..\.github\workflows\gcc.yml">
<Filter>Resource Files\CI\Github</Filter>
</None>
<None Include="..\..\.github\workflows\vs2019.yml">
<Filter>Resource Files\CI\Github</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Text Include="..\..\include\etl\file_error_numbers.txt">
@ -1500,4 +1506,4 @@
<Filter>Resource Files\Images</Filter>
</Image>
</ItemGroup>
</Project>
</Project>