-
Notifications
You must be signed in to change notification settings - Fork 19
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
Refactor CMake builds #159
base: shared_build_test
Are you sure you want to change the base?
Conversation
Codecov Report
@@ Coverage Diff @@
## shared_build_test #159 +/- ##
===================================================
Coverage 100.00% 100.00%
===================================================
Files 2 2
Lines 18 18
Branches 7 7
===================================================
Hits 18 18 Continue to review full report at Codecov.
|
d4af331
to
f9b53fc
Compare
Convert the header-only library to a compiled library which additionally depends (privately) on another compiled library (Boost.Atomic chosen as it has few other dependencies). This reproduces the runtime link failure of #155 when compiling shared libraries.
033084a
to
2c9a822
Compare
Allows reuse in other scripts
Allow reuse and a centralized place for improvements
f9b53fc
to
17f6483
Compare
@pdimov In the next step I'd add setting LD_LIBRARY_PATH / PATH to I think using those scripts (instead of putting it all in the CI file) is better, as it allows reusing the code used in "Run CMake tests" step for installing Boost. Maybe we can even avoid to build it twice (once for the test, once for install) by reusing the build folder. I initially had them as we need to know the install folder in the step after Boost is installed. I also found that using the home folder doesn't really work, as the MinGW translation of paths on Windows breaks setting the PATH variable properly (need Any comments? |
I prefer to test and install separately because the former uses -DBUILD_TESTING=ON and the latter does not. |
I'm using an env variable Similarly I add the CMAKE_INSTALL_PREFIX in the install test file: https://github.com/boostorg/boost-ci/pull/159/files#diff-3d84f614fee94218472ec19493340cd330984ad316d6e46f345109fb99b7ae9e So the |
I would like to come to a solution which will be used in all Boost CI tests, i.e. by all maintainers to make updating easier and to benefit the most. These are the things I want to tackle:
So major question: Do we want to use reusable, centralized scripts which we can update with features/fixes as done here or have the code in the CI yaml-files as before which duplicates some code and needs every maintainers interaction to fix/enhance things but is more flexible in case maintainers want other/more CMake options (could also be done with env vars, similar to Querying @pdimov @jeking3 as you have introduced CMake CI builds in some Boost libs. |
2c9a822
to
7e8379a
Compare
In preparation to fix #155 this creates scripts for the CMake tests/builds. In those we can then fix the issue and in the future add further improvements, like using CCache.