-
Notifications
You must be signed in to change notification settings - Fork 90
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: Fix a few minor issues, generate bout-config
#2328
Conversation
Disables a test if it conflicts with some variable
- wrong syntax for `mark_as_advanced` - cache package required variables - explicitly set version variable - don't rerun the tests if we've already found slepc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have added a basic test, which is failing in GHA [0].
The same worked before in fedora, so not sure what is wrong. Maybe you have an idea what might be broken?
Before installing the libs
line in bout-config is:
libs="-Wl,-rpath,/home/runner/work/BOUT-dev/BOUT-dev/build -L/home/runner/work/BOUT-dev/BOUT-dev/build -lbout++"
The /lib
is missing at the end ...
Other things that seem to be wrong:
BOUT_LIB_PATH=
BOUT_CONFIG_FILE=/make.config
[0] https://github.com/boutproject/BOUT-dev/tree/cmake-test-conflicts-test
Oops, thanks, looks like I just plain forgot!
|
CMake: Add integration test for bout-config
I think providing a I think it should be doable to just rely on Anyway, that is nothing to block this PR, having |
Good point, it would definitely be nice to provide |
CONFLICTS
argument tobout_add_integrated_test
hasn't been merged intonext
yet, but is used by one of the testsFind*
modules weren't installedFindSLEPc
always re-runs its tests even if SLEPc has been foundFindSUNDIALS
didn't cache some of its required variablesAlso generates
bout-config
. This was a bit of a pain to implement due to some of the limitations of CMake, and I basically ended up needing to keep track of the library names manually. This means it's probably a little bit fragile, I've not tested all the possible permutations, but it does at least work in a few configurations on my machine.There's a "build directory" version, in
<build dir>/bin/bout-config
, which allows the build directory to be used, as well as a version that gets installed with the correct installation paths.