Open ardasener opened 1 year ago
Here is an alternative library that seems to be actively maintained: Questionary
Looks easy to use.
It might be possible to automatically install some of the optional dependencies maybe? I have a script that does that for another project, here is a snippet from that:
# METIS
echo "Building metis..."
cd deps
wget -c $METIS_LINK
tar xzf "metis-${METIS_VERSION}.tar.gz"
cd "metis-${METIS_VERSION}"
make config shared=1
make -j $MAKE_J
cd ../..
mv ./deps/metis-${METIS_VERSION}/build/Linux-x86_64/libmetis/*.so libs/
mv ./deps/metis-${METIS_VERSION}/include/*.h libs/
It puts everything in a single directory called libs
. We can add that to CMake's search path. This would be optional and only available on Linux maybe? Feel free to share your opinions.
Sparsebase has many compile-time options (like header-only, data types). Furthermore, optional dependencies causes even more options to be selected by the users at compile-time. All of these options can also affect how the user needs to compile their own programs that use sparsebase as well.
The solution we are considering for this is to implement an easy-to-use and interactive script (preferably in Python) to build & install the library. This script can also provide users with build instructions, makefile templates etc. to properly link against sparsebase (this would also resolve #158).
A good example of the sort of thing we want here is the project creation for Nuxt (see here)
Here is a library that may be useful: PyInquirer
Note that this tool should be optional. If the users want to use cmake directly it should be possible.