sampsapursiainen / zeffiro_interface

Interface for using finite elements in inverse problems with complex domains
GNU General Public License v3.0
24 stars 15 forks source link

Add external libraries as git submodules #157

Closed SeSodesa closed 1 year ago

SeSodesa commented 1 year ago

This simplifies the installation process somewhat, and also makes the lives of Git users easier. Now the (free) dependencies can be installed with a simple

git submodule update --init --recursive

or in conjunction with downloading Zeffiro Interface with

git clone --recurse-submodules https://github.com/sampsapursiainen/zeffiro_interface.git

or

git clone --recursive https://github.com/sampsapursiainen/zeffiro_interface.git

and then running

zeffiro_setup

in the Matlab console to run the installation scripts of the dependencies in a single batch.

This is a squashed commit that closes #156. Individual commit messages can be seen below.


.gitignore: allowed the file .gitmodules

Removed external/CVX folder from index

Added external/CVX as a submodule

Removed external/SDPT3 from index

Added external/SDPT3 as a submodule

Remove external/SeDuMi before adding it as submodule

Add external/SeDuMi as a submodule

zeffiro_setup: comment out git clones of the external libraries

These should be downloaded with

git submodule update --init --recursive

instead. Will probably add the above command later.

Removed external/SESAME before adding it as a proper submodule

Added external/SESAME as a proper submodule

zeffiro_setup: call "git submodule --init --recursive" to download submodules

Add external/README.md

Contains instructions on installing the third-party dependencies.

external/README: fixed a typo

SeSodesa commented 1 year ago

This has been tested with the ES Workbench of Zeffiro, and the non-proprietary dependencies were installed without issues. The previous implementation also only installed those, with proprietary ones seemingly requiring manual installation. This should then only improve the state of things.