Skip to content

Building a CFAST Release

Richard Peacock edited this page Jan 25, 2023 · 8 revisions

Setup

Scripts for creating up a CFAST release bundle depends on a number of files outside the repository. These should all be in a folder labeled "Extras" at the same level as the CFAST repo, i.e., firemodels/Extras. In this folder should be two folders, one labeled bin that contains the following files that need to be in the CFAST bin directory (i.e., firemodels/cfast/Utilities/for_bundle/Bin) to create an install package:

3_panel_workstation.o
bunkbed.o
burner.o
curtains.o
kiosk.o
mattress_and_boxspring.o
NPlot.dll
sofa.o
tv_set.o
upholstered_chair.o
wardrobe.o
wood_wall.o

In a second folder at the Extras level, an installed smokeview must exists (i.e., in firemodels/Extras/SMV6).

Initial CEdit Build

Although the bundling scripts create an official CEdit release, the script depends on an existing CEdit compile via Visual Studio. Thus, the first step to create an install package is to building CEdit from within Visual Studio. Visual Studio configuration files for CFAST are already in the repo at firemodels/cfast/Utilities/Visual_Studio. Two scripts allow you to place these files in the correct locations for each program (Create_vs_config.bat) or to save your existing set if you need to update the repo with new configuration files (Backup_vs_config.bat). All of these assume the following Visual Studio related software installed:

Visual Studio Community Edition
Intel OneAPI Fortan (though earlier versions should work too)
ComponentOne Winforms tools for Visual Studio
NPLot

Winforms is used for the various spreadsheets in the GUI, the file viewers, and automatic resizing of controls in the GUI. It's available at http://www.componentone.com/Studio/Platform/WinForms. NPlot is used to create the graphs on the various fire input screens. It's available at http://netcontrols.org/nplot/wiki/.

Create Software, Documentation, and Graphics with cfastbot

Run cfastbot (firemodels/bots/Cfastbot) with the following options to create official release files

run_cfastbot -installed -official

Cfastbot depends on matlab to create graphics for the documentation. If matlab is not available, compiled matlab scripts are available. These should be placed in a location in your path and the -nomatlab option should be added to the run_cfastbot command as

run_cfastbot -installed -nomatlab -official

Creating Bundle

Two scripts need to be run to create the CFAST install package; both are located in firemodels/Utilities/for_bundle/scripts:

CopyFilestoCFASTclean.bat compiles official versions of CEdit and CFAST and copies all needed file to their correct locations in the repo.

BUNDLE_cfast.bat creates the bundle and places it in an upload folder (firemodels/Utilities/uploads) that can then be rename appropriately and uploaded to github to create a new release.