Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Use BUILD_INTERFACE generator expression to fix cmake flag exports #3485
I think that's not sufficient. I have a different solution here:
what it does is to declare certain compiler flags private and others public. As you wrote in #3484, your patch only works for an installation of HPX. When running off of a build directory, the problem remains and a lot of applications are affected by the warnings (and warnings as errors) that now turn up.
I agree with you that moving away from those properties should be the way to go. In the meantime, we should at least restore the behavior we had for the release (which my linked patch does).
Regarding your point that BUILD_INTERFACE isn't enough, and adding PUBLIC/PRIVATE attributes - if a flag is marked as PRIVATE then the tests will not pick up that flag. If it is PUBLIC they will, but so will users' code. Using BUILD_INTERFACE allows anything to be used in the project and it is only users building against the build dir will be affected. BUILD_INTERFACE solves the problem entirely for installed versions of HPX. Using PRIVATE will mean some tests are not getting all the flags. A combination of both would be a good idea.
Oct 12, 2018
44 of 46 checks passed
@sithhell Does this enforce the C++ mode onto dependent libraries/applications now?
We are seeing the issue, that Phylanx does not compile with Blaze master. This is a combination of things, but it is exposed by us not being able to enforce compilation of Phylanx in C++14 mode (CircleCI) as the HPX base Docker image enforces C++17.