Files
OpenUxAS-SoI/install_prerequisites.sh

157 lines
6.0 KiB
Bash

#!/bin/bash
# Copyright © 2017 Government of the United States of America, as represented by the Secretary of the Air Force.
# No copyright is claimed in the United States under Title 17, U. S. Code. All Other Rights Reserved.
# Copyright 2017 University of Cincinnati. All rights reserved. See LICENSE.md file at:
# https://github.com/afrl-rq/OpenUxAS
# Additional copyright may be held by others, as reflected in the commit history.
# from the README.md, 2017-05-11:
# references:
# * http://stackoverflow.com/questions/3466166/how-to-check-if-running-in-cygwin-mac-or-linux/17072017#17072017
# * https://serverfault.com/questions/501230/can-not-seem-to-get-expr-substr-to-work
if [ "$(uname)" == "Darwin" ]; then
echo "Install Prerequisites on Mac OS X"
echo " "
echo "Install XCode"
echo "* Get yourself a developer account and grab the file from: https://developer.apple.com/xcode/"
echo " (This cannot be downloaded automatically due to the need to agree to license &etc. terms.)"
echo " (So, download from website manually and install the .dmg file.)"
echo "Once you've done this..."
echo "Press any key to continue..."
# as of 2017-05-08, this is: ????.dmg
# ref: https://superuser.com/questions/689315/run-safari-from-terminal-with-given-url-address-without-open-command
# ref: https://www.macissues.com/2014/09/18/how-to-launch-and-quit-applications-in-os-x-using-the-terminal/
/Applications/Safari.app/Contents/MacOS/Safari & sleep 1 && osascript -e 'tell application "Safari" to open location "https://developer.apple.com/xcode/"'
#echo "* Install .dmg"
read -rs -p " " -n 1 # reference: https://ss64.com/bash/read.html
echo " "
# Enable commandline tools: in terminal
xcode-select --install
# Install homebrew (must be administrator): in terminal
sudo ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Add homebrew to path: in terminal
echo `export PATH="/usr/local/bin:$PATH"` >> ~/.bash_profile
source ~/.bash_profile # bash
brew tap caskroom/cask
# Install git: in terminal
brew install git
# Install unique ID library: in terminal
brew install ossp-uuid
# Install Boost library and configure it in a fresh shell: in terminal
brew install boost
echo 'export BOOST_ROOT=/usr/local' >> ~/.bash_profile
source ~/.bash_profile # bash
# Install pip3: in terminal
brew install python3
curl -O https://bootstrap.pypa.io/get-pip.py
sudo -H python3 get-pip.py
# Install ninja build system: in terminal
brew install cmake
brew install pkg-config
sudo -H pip3 install scikit-build
sudo -H pip3 install ninja
# Install meson build configuration: in terminal
sudo -H pip3 install meson==0.42.1
# Install python plotting capabilities (optional): in terminal
sudo -H pip3 install matplotlib
sudo -H pip3 install pandas
# Install Oracle JDK
brew cask install java
# Install ant for command line build of java programs
brew install ant
echo "Dependencies installed!"
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
echo "Installing Prerequisite Tools on Ubuntu Linux"
# run an 'apt update' check without sudo
# ref: https://askubuntu.com/questions/391983/software-updates-from-terminal-without-sudo
aptdcon --refresh
NUMBER_UPGRADEABLE=`apt-get -s upgrade | grep "upgraded," | cut -d' ' -f1`
if [ $NUMBER_UPGRADEABLE -gt 0 ]
then
echo "Some packages require updating, running apt update-upgrade as sudo now..."
sudo apt -y update
sudo apt -y upgrade
echo "Done with apt update-upgrade!"
fi
# Install pkg-config for finding link arguments: in terminal
sudo apt -y install pkg-config
# Install git: in terminal
sudo apt -y install git
sudo apt -y install gitk
# Install opengl development headers: in terminal
sudo apt -y install libglu1-mesa-dev
# Install unique ID creation library: in terminal
sudo apt -y install uuid-dev
# Install Boost libraries (**optional but recommended**; see external dependencies section): in terminal
sudo apt-get install libboost-filesystem-dev libboost-regex-dev libboost-system-dev
# Install pip3: in terminal
sudo apt -y install python3-pip
sudo -H pip3 install --upgrade pip
# Install ninja build system: in terminal
sudo -H pip3 install ninja
# Install meson build configuration: in terminal
sudo -H pip3 install meson==0.42.1
# Install python plotting capabilities (optional): in terminal
sudo apt -y install python3-tk
sudo -H pip3 install matplotlib
sudo -H pip3 install pandas
# Install Oracle JDK
sudo add-apt-repository ppa:webupd8team/java
sudo apt -y update
sudo apt -y install oracle-java9-installer
sudo apt -y install oracle-java9-set-default
# Install ant for command line build of java programs
sudo apt -y install ant
echo "Dependencies installed!"
else
echo "Unsupported platform! Only Ubuntu Linux and Mac OSX supported"
exit 1
fi
echo "Configuring UxAS"
#check to see if already in OpenUxAS
current_directory=${PWD##*/}
git_directory=$PWD'/.git'
if [ $current_directory != "OpenUxAS" ] || [ ! -d $git_directory ]; then
echo "Checking out OpenUxAS ..."
git clone -b develop --single-branch https://github.com/afrl-rq/OpenUxAS.git
fi
# ensure one directory above OpenUxAS
if [ $current_directory == "OpenUxAS" ] && [ -d $git_directory ]; then
cd ..
fi
echo "Checking out LmcpGen ..."
git clone https://github.com/afrl-rq/LmcpGen.git
cd LmcpGen
ant -q jar
cd ..
echo "Checking out OpenAMASE ..."
git clone https://github.com/afrl-rq/OpenAMASE.git
cd OpenAMASE/OpenAMASE
ant -q jar
cd ../..
echo "Configuring UxAS plotting utilities ..."
cd OpenUxAS/src/Utilities/localcoords
sudo python3 setup.py install
cd ../../..
echo "Preparing UxAS build ..."
python3 prepare
sh RunLmcpGen.sh
meson build --buildtype=release
meson build_debug --buildtype=debug
echo "Complete! To build, type 'ninja -C build'"
# --eof--