mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-26 13:15:39 -04:00
Moving DAGMC installation to a shell script.
This commit is contained in:
parent
937acbc44d
commit
216027eb54
3 changed files with 41 additions and 68 deletions
36
tools/ci/travis-install-dagmc.sh
Executable file
36
tools/ci/travis-install-dagmc.sh
Executable file
|
|
@ -0,0 +1,36 @@
|
|||
|
||||
#!/bin/bash
|
||||
set -ex
|
||||
|
||||
# MOAB Variables
|
||||
MOAB_BRANCH='Version5.0'
|
||||
MOAB_REPO='https://bitbucket.org/fathomteam/moab/'
|
||||
MOAB_INSTALL_DIR=$HOME/MOAB/
|
||||
|
||||
# DAGMC Variables
|
||||
DAGMC_BRANCH='develop'
|
||||
DAGMC_REPO='https://github.com/svalinn/dagmc'
|
||||
DAGMC_INSTALL_DIR=$HOME/DAGMC/
|
||||
|
||||
CURRENT_DIR=$(pwd)
|
||||
|
||||
# MOAB Install
|
||||
cd $HOME
|
||||
mkdir MOAB && cd MOAB
|
||||
git clone -b $MOAB_BRANCH $MOAB_REPO
|
||||
mkdir build && cd build
|
||||
cmake ../moab -DENABLE_HDF5=ON -DCMAKE_INSTALL_PREFIX=$MOAB_INSTALL_DIR
|
||||
make -j test install
|
||||
rm -r $HOME/MOAB/moab
|
||||
export LD_LIBRARY_PATH=$MOAB_INSTALL_DIR/lib:$LD_LIBRARY_PATH
|
||||
|
||||
# DAGMC Install
|
||||
mkdir DAGMC && cd DAGMC
|
||||
git clone -b $DAGMC_BRANCH $DAGMC_REPO
|
||||
mkdir build && cd build
|
||||
cmake ../dagmc -DBUILD_TALLY=ON -DCMAKE_INSTALL_PREFIX=$DAGMC_INSTALL_D
|
||||
make -j install
|
||||
rm -r $HOME/DAGMC/dagmc
|
||||
export LD_LIBRARY_PATH=$DAGMC_INSTALL_DIR/lib:$LD_LIBRARY_PATH
|
||||
|
||||
cd $CURRENT_DIR
|
||||
|
|
@ -50,7 +50,6 @@ def install(omp=False, mpi=False, phdf5=False, dagmc=False):
|
|||
cmake_cmd.append('-DHDF5_PREFER_PARALLEL=OFF')
|
||||
|
||||
if dagmc:
|
||||
build_dagmc()
|
||||
cmake_cmd.append('-Ddagmc=ON')
|
||||
|
||||
# Build and install
|
||||
|
|
@ -60,72 +59,6 @@ def install(omp=False, mpi=False, phdf5=False, dagmc=False):
|
|||
subprocess.check_call(['make', '-j2'])
|
||||
subprocess.check_call(['sudo', 'make', 'install'])
|
||||
|
||||
def mkcd(directory):
|
||||
os.mkdir(directory)
|
||||
os.chdir(directory)
|
||||
|
||||
def build_dagmc():
|
||||
|
||||
current_dir = os.getcwd()
|
||||
home_dir = os.environ['HOME']
|
||||
|
||||
os.chdir(home_dir)
|
||||
mkcd('MOAB')
|
||||
|
||||
clone_cmd = ['git', 'clone', '-b', 'Version'+MOAB_VERSION, 'https://bitbucket.org/fathomteam/moab']
|
||||
subprocess.check_call(clone_cmd)
|
||||
|
||||
mkcd('build')
|
||||
|
||||
moab_install_dir = home_dir + "/" + "MOAB"
|
||||
cmake_cmd = ['cmake', '../moab', '-DENABLE_HDF5=ON', '-DENABLE_TOOLS=ON', '-DCMAKE_INSTALL_PREFIX='+moab_install_dir]
|
||||
subprocess.check_call(cmake_cmd)
|
||||
|
||||
subprocess.check_call(['make', '-j2'])
|
||||
|
||||
subprocess.check_call(['make', 'test'])
|
||||
|
||||
subprocess.check_call(['make','install'])
|
||||
|
||||
# check for existing LD_LIBRARY_PATH
|
||||
try:
|
||||
ld_lib_path = os.environ['LD_LIBRARY_PATH']
|
||||
except:
|
||||
ld_lib_path = ''
|
||||
|
||||
# update LB_LIBRARY_PATH (so DAGMC can find MOAB)
|
||||
os.environ['LD_LIBRARY_PATH'] = moab_install_dir+"/lib" + ":" + ld_lib_path
|
||||
|
||||
# remove moab source dir
|
||||
shutil.rmtree(home_dir + "/MOAB/moab")
|
||||
|
||||
# build dagmc
|
||||
os.chdir(home_dir)
|
||||
|
||||
mkcd('DAGMC')
|
||||
|
||||
clone_cmd = ['git', 'clone', 'https://github.com/svalinn/dagmc']
|
||||
subprocess.check_call(clone_cmd)
|
||||
|
||||
mkcd('build')
|
||||
|
||||
dagmc_install_dir = home_dir + "/" + 'DAGMC'
|
||||
cmake_cmd = ['cmake', '../dagmc', '-DCMAKE_INSTALL_PREFIX='+dagmc_install_dir, '-DBUILD_TALLY=ON']
|
||||
subprocess.check_call(cmake_cmd)
|
||||
|
||||
subprocess.check_call(['make','-j2'])
|
||||
|
||||
subprocess.check_call(['make','install'])
|
||||
|
||||
# update LB_LIBRARY_PATH (so DAGMC can find MOAB)
|
||||
os.environ['LD_LIBRARY_PATH'] = dagmc_install_dir+"/lib" + ":" + ld_lib_path
|
||||
|
||||
# remove dagmc source dir
|
||||
shutil.rmtree(home_dir + "/DAGMC/dagmc")
|
||||
|
||||
# return to original directory
|
||||
os.chdir(current_dir)
|
||||
|
||||
def main():
|
||||
# Convert Travis matrix environment variables into arguments for install()
|
||||
omp = (os.environ.get('OMP') == 'y')
|
||||
|
|
@ -137,6 +70,5 @@ def main():
|
|||
# Build and install
|
||||
install(omp, mpi, phdf5, dagmc)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
|||
|
|
@ -4,6 +4,11 @@ set -ex
|
|||
# Install NJOY 2016
|
||||
./tools/ci/travis-install-njoy.sh
|
||||
|
||||
# Install DAGMC if needed
|
||||
if [[ $DAGMC = 'y' ]]; then
|
||||
./tools/ci/travis-install-dagmc.sh
|
||||
fi
|
||||
|
||||
# Upgrade pip before doing anything else
|
||||
pip install --upgrade pip
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue