/clr and /std:c++20 #1215
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: MSVC | |
| on: | |
| push: | |
| branches: | |
| - '**' | |
| permissions: | |
| contents: read | |
| jobs: | |
| momo-test: | |
| strategy: | |
| matrix: | |
| include: | |
| # Visual Studio 2019 x64 | |
| - toolset: '14.2' | |
| arch: 'x64' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++20 /WX' | |
| win_ver: '2025' | |
| # Visual Studio 2022 x64 | |
| - toolset: '14.4' | |
| arch: 'x64' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++23preview /WX' | |
| win_ver: '2025' | |
| # Visual Studio 2026 x64 | |
| - toolset: '14.5' | |
| arch: 'x64' | |
| build_type: 'Release' | |
| test_libcxx20: 'Off' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++14 /WX' | |
| win_ver: '2025-vs2026' | |
| - toolset: '14.5' | |
| arch: 'x64' | |
| build_type: 'Release' | |
| test_libcxx20: 'Off' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++17 /WX' | |
| win_ver: '2025-vs2026' | |
| - toolset: '14.5' | |
| arch: 'x64' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++20 /WX' | |
| win_ver: '2025-vs2026' | |
| - toolset: '14.5' | |
| arch: 'x64' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++23preview /WX' | |
| win_ver: '2025-vs2026' | |
| - toolset: '14.5' | |
| arch: 'x64' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++latest /WX' | |
| win_ver: '2025-vs2026' | |
| - toolset: '14.5' | |
| arch: 'x64' | |
| build_type: 'Debug' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++latest /WX' | |
| win_ver: '2025-vs2026' | |
| - toolset: '14.5' | |
| arch: 'x64' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'On' | |
| extra_settings: 'Off' | |
| flags: '/std:c++latest /WX' | |
| win_ver: '2025-vs2026' | |
| - toolset: '14.5' | |
| arch: 'x64' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'On' | |
| flags: '/std:c++latest /WX' | |
| win_ver: '2025-vs2026' | |
| # Visual Studio 2019 x86 | |
| - toolset: '14.2' | |
| arch: 'x64_x86' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++20 /WX' | |
| win_ver: '2025' | |
| # Visual Studio 2022 x86 | |
| - toolset: '14.4' | |
| arch: 'x64_x86' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++23preview /WX' | |
| win_ver: '2025' | |
| # Visual Studio 2026 x86 | |
| - toolset: '14.5' | |
| arch: 'x64_x86' | |
| build_type: 'Release' | |
| test_libcxx20: 'Off' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++14 /WX' | |
| win_ver: '2025-vs2026' | |
| - toolset: '14.5' | |
| arch: 'x64_x86' | |
| build_type: 'Release' | |
| test_libcxx20: 'Off' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++17 /WX' | |
| win_ver: '2025-vs2026' | |
| - toolset: '14.5' | |
| arch: 'x64_x86' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++20 /WX' | |
| win_ver: '2025-vs2026' | |
| - toolset: '14.5' | |
| arch: 'x64_x86' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++23preview /WX' | |
| win_ver: '2025-vs2026' | |
| - toolset: '14.5' | |
| arch: 'x64_x86' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++latest /WX' | |
| win_ver: '2025-vs2026' | |
| - toolset: '14.5' | |
| arch: 'x64_x86' | |
| build_type: 'Debug' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++latest /WX' | |
| win_ver: '2025-vs2026' | |
| - toolset: '14.5' | |
| arch: 'x64_x86' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'On' | |
| extra_settings: 'Off' | |
| flags: '/std:c++latest /WX' | |
| win_ver: '2025-vs2026' | |
| - toolset: '14.5' | |
| arch: 'x64_x86' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'On' | |
| flags: '/std:c++latest /WX' | |
| win_ver: '2025-vs2026' | |
| # Visual Studio 2022 ARM64 | |
| - toolset: '14.4' | |
| arch: 'arm64' | |
| build_type: 'Release' | |
| test_libcxx20: 'Off' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++14 /WX' | |
| win_ver: '11-arm' | |
| - toolset: '14.4' | |
| arch: 'arm64' | |
| build_type: 'Release' | |
| test_libcxx20: 'Off' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++17 /WX' | |
| win_ver: '11-arm' | |
| - toolset: '14.4' | |
| arch: 'arm64' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++20 /WX' | |
| win_ver: '11-arm' | |
| - toolset: '14.4' | |
| arch: 'arm64' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++23preview /WX' | |
| win_ver: '11-arm' | |
| - toolset: '14.4' | |
| arch: 'arm64' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++latest /WX' | |
| win_ver: '11-arm' | |
| - toolset: '14.4' | |
| arch: 'arm64' | |
| build_type: 'Debug' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'Off' | |
| flags: '/std:c++latest /WX' | |
| win_ver: '11-arm' | |
| - toolset: '14.4' | |
| arch: 'arm64' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'On' | |
| extra_settings: 'Off' | |
| flags: '/std:c++latest /WX' | |
| win_ver: '11-arm' | |
| - toolset: '14.4' | |
| arch: 'arm64' | |
| build_type: 'Release' | |
| test_libcxx20: 'On' | |
| no_exceptions_rtti: 'Off' | |
| extra_settings: 'On' | |
| flags: '/std:c++latest /WX' | |
| win_ver: '11-arm' | |
| runs-on: windows-${{ matrix.win_ver }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Install Ninja | |
| if: matrix.win_ver == '11-arm' | |
| run: choco install ninja | |
| - name: Setup MSVC | |
| uses: ilammy/msvc-dev-cmd@v1 | |
| with: | |
| arch: ${{ matrix.arch }} | |
| toolset: ${{ matrix.toolset }} | |
| - name: Build | |
| env: | |
| CXXFLAGS: ${{ matrix.flags }} | |
| run: | | |
| cd test | |
| mkdir build | |
| cd build | |
| cmake .. -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ` | |
| -DMOMO_TEST_LIBCXX20=${{ matrix.test_libcxx20 }} ` | |
| -DMOMO_TEST_NO_EXCEPTIONS_RTTI=${{ matrix.no_exceptions_rtti }} ` | |
| -DMOMO_TEST_EXTRA_SETTINGS=${{ matrix.extra_settings }} | |
| cmake --build . -v | |
| - name: Test | |
| run: test/build/momo_test.exe |