Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modernize Codebase to C++17 #141

Closed
3 of 6 tasks
nschimme opened this issue Nov 29, 2018 · 3 comments
Closed
3 of 6 tasks

Modernize Codebase to C++17 #141

nschimme opened this issue Nov 29, 2018 · 3 comments

Comments

@nschimme
Copy link
Contributor

nschimme commented Nov 29, 2018

We currently can't upgrade to C++17 because of a few factors:

  • Supported C++17 compilers are: https://en.cppreference.com/w/cpp/compiler_support

    • GCC 7
    • MSVC 19.04
    • Clang 5
  • This means we can only support the following OS / compiler combinations:

    • Ubuntu 18.04 (GCC 7)
    • Windows MSVC (19.14)
    • Mac Xcode 9 (Clang 5)
  • Without support for:

    • Ubuntu 16.04 (GCC 5)
    • Windows MinGW (GCC 4.7.2)
    • Windows Mingw-w64 (GCC 6)
@nschimme
Copy link
Contributor Author

nschimme commented Nov 29, 2018

Additionally, snaps are currently built on core16 and are blocked from migrating to core18 until https://bugs.launchpad.net/ubuntu/+source/docker.io/+bug/1755250 is fixed

Edit: I have succesfully built the snap on core18. This also means that we are able to support 16.04 users via snaps.

@nschimme
Copy link
Contributor Author

It seems that we have another blocker. Mac only supports std::optional on macOS 10.14 and higher but we still have a substantial portion of our users on 10.11.

~/MMapper/src/expandoracommon/room.cpp:116:24: error:
      call to unavailable member function 'value': introduced in macOS 10.14
            return opt.value();
                   ~~~~^~~~~

@nschimme
Copy link
Contributor Author

This has been completed now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant