This distribution of `partition` uses CMake to configure the build environment.
The main program can be built as a single-threaded ('serial') or multi-
processor ('SMP') executable.

The SMP version will perform calculations faster on systems with multiple 
available processor cores, so it is probably the best choice for most 
applications. However the serial version is slightly more efficient when
only a single core is available.

There are two steps in producing an executable using CMake:
1) Run  `cmake <SOURCE_DIR> [OPTIONS]` to generate system-specific build environment 
   (for example a Makefile on Unix-like systems)
2) Invoke the build environment to produce the actual executable.

The directions below assume a CMake + GNU Make on Linux, Mac, or Cygwin.

############################################
# Example shell commands to build partition
############################################

# Start from the 'RNAstructure/build' directory. Create it if necessary.
cd path/to/RNAstructure
mkdir -p build  &&  cd build

# run cmake (from within the 'build' directory). The source files are in ../
cmake ..

# run Make to build the serial version, SMP version, or both.
# The executable (partition or partition-smp) will be placed in 
# the 'RNAstructure/bin' directory.
make partition     # build the serial version
make partition-smp # build the SMP version
make               # build both

############################################
Note: 
If the SMP version is not necessary, you can disable it, along with 
system-dependent detection of OpenMP by turning OFF the ENABLE_SMP option.
For example:  $ cmake .. -DENABLE_SMP=OFF

############################################
# Important note about DATAPATH
############################################
When running partition, the DATAPATH variable must be set to the location
of the thermodynamic parameter files (usually RNAstructure/data_tables/).
See the ReadMe and https://rna.urmc.rochester.edu/Text/partition.html for more 
information.