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

Clean up build script for C++17/20 #100

Open
GindaChen opened this issue Mar 13, 2021 · 2 comments · Fixed by #101
Open

Clean up build script for C++17/20 #100

GindaChen opened this issue Mar 13, 2021 · 2 comments · Fixed by #101

Comments

@GindaChen
Copy link
Member

As mentioned in #99, we need to clean up the build script such that building in Ubuntu and macOS, with different language, can be easily done.

Major goals include:

  1. Insulate brew dependency on macOS if the compiler is g++. Almost all tools in brew are built with clang, and if we need to use g++ we need to build most of them under the cmake toolchain. This is pretty doable.
  2. Clean the install script and allow language version as an easy input. For example, ./build.sh --cpp20 should give us a full build on C++20. Suggestions are welcomed.
@GindaChen
Copy link
Member Author

GindaChen commented Mar 13, 2021

Moving to C++20 also implies we are by default using gcc-10. On (more modern) macOS, it should be fine - as long as we download gcc@10 through brew.

On Ubuntu 16, we will need to build gcc 10 manually - or at best, we host our own toolchain repo to download gcc 10. There is no apt-repo that Xenial can directly download gcc10 from.

If we switch to Ubuntu 18 / 20, then we're probably fine.

@pateljm @srsuryadev @mprammer2 I will be optimistic and try to move the dev stack and testing stack (CircleCI) to Ubuntu 18 20 if there is no objection.

@pateljm
Copy link
Contributor

pateljm commented Mar 13, 2021

No objections at all - kudos instead!

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

Successfully merging a pull request may close this issue.

2 participants