Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
build_CUPyDO.sh 2.96 KiB
#!/bin/bash

function build_CUPyDO()
{
    # clone/build CUPyDO
    if [ ! -d CUPyDO ] ; then
        git clone git@github.com:ulgltas/CUPyDO.git
    fi

    cd CUPyDO
    git pull
    git checkout pfem_compatibility_update
    git pull
    if [ -d build ] ; then
        rm -rf build
    fi
    mkdir build
    cd build
    cmake ..
    make -j 6
    make install
    cd ../..
}

function build_waves()
{
    # clone/build waves
    if [ ! -d waves ] ; then
	git clone git@gitlab.uliege.be:am-dept/waves.git
    fi

    cd waves
    if [ -d build ] ; then
        rm -rf build
    fi
    mkdir build
    cd build
    cmake -DUSE_PY3=OFF -C../CMake/disable-trilinos.cmake ..
    make -j 6
    cd ../..
}

function build_PFEM()
{
    # clone/build PFEM
    if [ ! -d PFEM ] ; then
        git clone git@gitlab.uliege.be:am-dept/PFEM.git
    fi

    cd PFEM
    git pull
    git checkout reorganize_schemes_and_algos
    git pull
    if [ -d build ] ; then
        rm -rf build
    fi
    mkdir build
    cd build
    cmake ..
    make -j 6
    cd ../..
}


function build_NativeSolid()
{
    # clone/build NativeSolid
    if [ ! -d NativeSolid ] ; then
        git clone git@github.com:ulgltas/NativeSolid.git
    fi

    cd NativeSolid
    if [ -d build ] ; then
        rm -rf build
    fi
    mkdir build
    cd build
    cmake ..
    make -j 6
    cd ../..
}


function build_modali()
{
    # clone modali
    if [ ! -d modali ] ; then
        git clone git@github.com:ulgltas/modali.git
    fi
}

function build_Metafor()
{
    if [ ! -d Metafor ] ; then
        mkdir Metafor
    fi
    cd Metafor
    
    # clone 
    if [ ! -d linuxbin ] ; then
        git clone git@gitlab.uliege.be:am-dept/linuxbin.git
    fi
    if [ ! -d oo_meta ] ; then
        git clone --depth=10 git@gitlab.uliege.be:am-dept/MN2L/oo_meta.git
    fi

    # build
    if [ -d oo_metaB ] ; then
        rm -rf oo_metaB
    fi
    mkdir oo_metaB
    cd oo_metaB
    cmake -C ../oo_meta/CMake/ubuntu-CUPyDO.cmake ../oo_meta
    make -j 12
    cd ../..
}

function build_SU2()
{
    # clone/build SU2
    if [ ! -d SU2.src ] ; then
	mkdir SU2.src
    fi
    cd SU2.src

    if [ ! -d SU2 ] ; then
        git clone git@github.com:su2code/SU2.git
    fi
    cd SU2
    git checkout tags/v6.2.0
    unset MKLROOT   # <= MKL should be disabled
    ./bootstrap
    ./configure --prefix=`readlink -f ../../SU2` \
		CXXFLAGS="-O3" \
                --enable-PY_WRAPPER
    make -j 12
    make install
    cd ../..
}

function build_VLM()
{
    # clone/build VLM
    if [ ! -d VLM ] ; then
        git clone git@github.com:ulgltas/VLM.git
    fi
    cd VLM

    if [ -d build ] ; then
	rm -rf build
    fi
    mkdir build
    cd build
    cmake ..
    make -j 6

    make install # is it required?
    
    cd ../..
}


 
# create CUPyDO main folder
if [ ! -d CUPyDO ] ; then
    mkdir CUPyDO
fi
cd CUPyDO

# build codes

build_CUPyDO
build_waves
build_PFEM
build_Metafor
build_SU2
build_modali
build_NativeSolid
build_VLM


# leave CUPyDO main folder
cd ..