OS/X Setup and Build Guide
Date |
Update Notes |
---|---|
09/16/2018 |
Initial Write up on Latest High Sierra distribution. |
07/26/2019 |
Updated dependency paths and build scripts with documentation |
05/08/2022 |
Updated dependencies that were missed also fixed Makefiles |
05/17/2022 |
Updated guide to .RST format |
Important
Latest Builds Tested on OS/X Catalina
Libraries to Install
Note
Boost is only used for the menu and prompt conversion utilities. Future plans are to remove this dependency.
- List of Dependencies
sqlite
yaml-cpp
openssl
libssh
ossp-uuid
boost
unittest-cpp
Note
Some might not use Homebrew for their package management. However, I needed to setup specific Include file locations in the “.mk” Makefiles if you do NOT use Homebrew, then these Include paths would need to be updated manually.
Important
Requirements, you should have XCode w/ Command line Tools installed. If not, you can usually install this from the Apple Store.
Install Homebrew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Update Homebrew - And Possibly your OS to the latest version:
brew doctor
brew update
- Install Dependencies via Brew:
All required libs are installed to /usr/local/opt
brew install sqlite3
brew install yaml-cpp
brew install ossp-uuid
brew install libssh
brew install openssl@3
brew install unittest-cpp
brew install boost
- Optional Dependencies depending on your Development Environment
Install GIT to pull down project:
brew install git
- Install latest compiler with c++11 compatibility as NEEDED!
You should have at least the following version installed or higher
Apple LLVM version 9.0.0 (clang-900.0.39.2)
Target: x86_64-apple-darwin17.4.0
Thread model: Posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Note
Only Need to install or upgrade if your compiler if the version is lower then this!
brew install clang
/usr/local/Cellar
for program versions installed/usr/local/opt
Clone the project
This will checkout and create project in an Oblivion2-XRM
folder where you run the command.
git clone https://github.com/M-griffin/Oblivion2-XRM.git
cd Oblivion2-XRM
cd build
./build-osx.sh -j2
Note
-j# is number of cpu cores for faster compiling
Build Script
compiles each part of the application and it’s utilities and Unit Tests./xrm-server - to start the bbs
./xrm-unittest - to run the unit tests
Helper Applications Only used if you are converting legacy items or mods.
./xrm-menu-convert - convert Legacy Obv/2 menus to yaml
./xrm-menu-prompt-convert - convert Legacy Obv/2 prompts to yaml
Note
Converters only tested on default Menu’s and prompt files. Should work for menu and prompt mods too.
Running the BBS
Default Telnet Port
: 6023xrm-server.yaml
configuration fileAll data files, and configuration file are generated on the initial startup of the system.
If you goof anything up, simply delete any of the .yaml
file(s) you made a mistake and want to start over.
Than re-start the program and the files regenerate to defaults.
Starting the BBS
./xrm-server - the main configuration file generates in the root bbs folder.
I’m playing around with a yaml logging format, any feedback is welcome. =)
newuser
The first created user becomes a SysOp set to level 255