Improve cmake workflow
Ordered by priority:
-
[x] cmake should build both targets
rawhash2,rawhash2_usinglibwithout having to modify the optionbuild_cli(i.e. remove this option and build both targets): currently not possible due to defining target twice --> please clean up the logic to have one function that defines a target (like pod5 target) and another that adds this target to another target (like rawhash). clean up so that there is one -
[x] also check that the shared lib can be successfully loaded, i.e. all dependent shared libs are found
-
[x] Make
make installwork with a custom prefix and document in README (i.e. not necessarily $HOME/.local or similar), should put things to$INSTALL_DIR/bin, $INSTALL_DIR/include, $INSTALL_DIR/lib. Currently, they are in subfolders that one first needs to find.libshould contain the shared rawhash library (and dependent shared libs),binthe rawhash cli andincludethe wrapperrawhash_wrapper.hpp. -
[x] allow to disable caching of the build directory (by checking for the presence of a file in the repo, or setting an option in the workflow (possibly with workflow variables))
-
[ ] build is slow (13 minutes, in particular because of tflite). This happens because of
makelooking at file timestamps. When tflite is checked out in the new build, the modification time becomes the time of the build, not when it was built originally. For example, you could copy tflite with cmake to the build directory and then build from there, but only copy it there if the hash of the directory has changed.