optimiser-solver/MakeSolver.sh
Geir Horn 125efff4f4 First release
- Added build script and AMPL license file
- Fixed merge errors for the makefile
- Extended the makefile header
- Added initial AMQ message topics
- Tested remote build
- Removed AMPL license file
- Validated build script

Change-Id: Ic335a57f7320b3994a6355293799804a1f20e71d
2024-01-15 21:35:34 +01:00

56 lines
2.0 KiB
Bash

#!/usr/bin/bash
# ==============================================================================
#
# Solver Component
#
# This script will build the Solver Component on an 'empty' machine with
# minimal installation of the latest Fedora version. The intent is to load
# all dependencies in a constructive way.
#
# Note that this is intended to be executed in a build machine that already
# has the solver code installed in the directory where the script is running.
#
# Author and Copyright: Geir Horn, University of Oslo
# Contact: Geir.Horn@mn.uio.no
# License: MPL2.0 (https://www.mozilla.org/en-US/MPL/2.0/)
# ==============================================================================
# Installing the development framework for the distribution. Must be run
# as root on the machine - put 'sudo' in front if the build user is not root.
dnf --assumeyes install gcc-c++ make git boost boost-devel ccache \
qpid-proton-cpp* json* coin-or-Couenne wget
# Cloning the open source dependencies
git clone https://github.com/jarro2783/cxxopts.git CxxOpts
git clone https://github.com/GeirHo/TheronPlusPlus.git Theron++
mkdir Theron++/Bin
# Clone the solver component (if it is not in this build directory already)
#git clone https://opendev.org/nebulous/optimiser-solver.git Solver
# Installing the AMPL library
wget https://portal.ampl.com/external/?url=\
https://portal.ampl.com/dl/amplce/ampl.linux64.tgz -O ampl.linux64.tgz
tar --file=ampl.linux64.tgz --extract
mv ampl.linux-intel64 AMPL
#cp ampl.lic AMPL
# Buildirm ampl.linux64.tgzng the solver component
# Note: use this make command if the solver is installed in a
# subdirectory.
#make -C Solver SolverComponent -e THERON=../Theron++ \
#AMPL_INCLUDE=../AMPL/amplapi/include AMPL_LIB=../AMPL/amplapi/lib \
#CxxOpts_DIR=../CxxOpts/include
# Use this script if the solver is already in the current directory
make SolverComponent -e THERON=./Theron++ \
AMPL_INCLUDE=./AMPL/amplapi/include AMPL_LIB=./AMPL/amplapi/lib \
CxxOpts_DIR=./CxxOpts/include