cmake: install incomplete
make install does not install
- [x] boutconfig
- [ ] boutcore
- [ ] executables?
- [ ] examples?
- [x] cmake files?
- [ ] manual
cmake is maybe incomplete:
$ diff installed/lib64/cmake/bout++/ ../cmake
Only in installed/lib64/cmake/bout++/: bout++Config.cmake
Only in installed/lib64/cmake/bout++/: bout++ConfigVersion.cmake
Only in ../cmake: BOUT++functions.cmake
Only in installed/lib64/cmake/bout++/: bout++Targets.cmake
Only in installed/lib64/cmake/bout++/: bout++Targets-noconfig.cmake
Only in ../cmake: EnableCXXWarningIfSupport.cmake
Only in ../cmake: FindClangFormat.cmake
Only in ../cmake: FindCython.cmake
Only in ../cmake: FindLibuuid.cmake
Only in ../cmake: FindnetCDFCxx.cmake
Only in ../cmake: FindNumpy.cmake
Only in ../cmake: GetGitRevisionDescription.cmake
Only in ../cmake: GetGitRevisionDescription.cmake.in
numpy and cython are from boutcore - should they be installed?
Good catch, definitely a few of those need to be installed -- the Find* modules, and I suspect BOUT++functions.cmake too. I'm fairly sure EnableCXXWarningIfSupport and GetGitRevisionDescription are only needed at configure time (for the library), and don't need to be installed.
I'm not sure about installing the examples -- they could be useful, but maybe not? It doesn't look like we install them with autotools, but we also don't have an option for compiling them all either.
Which executables do you mean? The programs installed by autotools are just bout-config and bout-log-color. I'm not sure we want to install any of the model executables.
For the examples, they're useful if someone can edit and run them so we could either:
- Install them centrally, then have a script which copies them into the user's directory
might copy the$ bout-examples conductionconductionexample and compile it. - Make the examples a separate repository, which users can check out. This might be the most straightforward, if installing the BOUT++ library becomes the more standard way to use it.
Good catch, definitely a few of those need to be installed -- the
Find*modules, and I suspectBOUT++functions.cmaketoo. I'm fairly sureEnableCXXWarningIfSupportandGetGitRevisionDescriptionare only needed at configure time (for the library), and don't need to be installed.
Ok, I will add them :+1:
I'm not sure about installing the examples -- they could be useful, but maybe not? It doesn't look like we install them with autotools, but we also don't have an option for compiling them all either.
I thought if we want to provide the examples pre-compiled, that would be useful, if we provide an option, it would also be nice to install them.
Install them centrally, then have a script which copies them into the user's directory
That would be quite nice, I was thinking about a minimal image with precompiled examples.
Which executables do you mean? The programs installed by autotools are just
bout-configandbout-log-color. I'm not sure we want to install any of the model executables.
I meant some of the files in bin/bout.* files.
I'm working on the bout-config stuff. One thing I don't like about CMake is how painful it makes it to get information out.
On the plus side, once I've done this, it should be trivial to create a pkg-config .pc file
bout-config and CMake files fixed in #2328