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

CMake build system implementation #143

Open
wants to merge 233 commits into
base: develop
Choose a base branch
from

Conversation

nemothenoone
Copy link
Contributor

@nemothenoone nemothenoone commented Jul 15, 2019

This makes the Boost.Multiprecision to support the CMake build system with following particular qualities:

  • Build time increased up to 2 times (obviously). So for now it could exceed the time limit available for free. Maybe TravisCI build stages (https://docs.travis-ci.com/user/build-stages) are the answer?
  • Some tests are temporarily disabled, they will be introduced a little bit later.
  • Split to test suites in case of CMake-based build system usage is a little bit different for now. This means tests are being run by CTest, which is not configured for test suites support for now, but carefully annotates every test name, so it is still easy to know, what is wrong.
  • CMake-based version uses standard find_package for Boost lookup, so it is required to install Boost to CI environment before it could be used by CMake. This needs a couple of improvements:
    • How to make bjam to build and install only particular libraries? This would allow to reduce the build time and possibly to get fit to the TravisCI time available for free.
    • Usage of BoostCMake (https://github.com/BoostCMake/boost_cmake) for Boost building is the key for the Boost installation avoidance. But the project linked is not really up to date for now. We will make it so, after that this project's CMake build system will be going to be updated as well as CI script.
    • Some submoduled project of my own was used for providing fine CMake build system support for Boost-family projects, but, I think, it would be fine to embed its' repository into Boost.Multiprecision's one.
  • TravisCI is the only CI system available in the initial implementation. Further improvements will bring more.

Resolves #139 and NilFoundation#10.

Zerg1996 and others added 30 commits June 7, 2019 15:16
@nemothenoone
Copy link
Contributor Author

nemothenoone commented May 3, 2020

@jzmaddock Okay, one more try. I believe we've fixed the missing Boost.Exception issue.

@nemothenoone
Copy link
Contributor Author

Tested it once again. I believe, we are good for you to test it, @jzmaddock.

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

Successfully merging this pull request may close these issues.

CMake build system
6 participants