Skip to content

morteham/thermopack_cmake

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CMake script for Thermopack

This reposotory contains CMake files for building thermopack. The scripts are based on the fortran template by Seth Morton's cmake_fortran_template.

It is currently tested only with Intel FORTRAN 2020 and GNU FORTRAN on Ubuntu 20.04 and Windows 10 with Visual Studio 2019 and Intel FORTRAN 2020. When the scripts are properly tested, they will be integrated with the thermopack reposotory.

Prerequisites

A FORTRAN compiler is required to run the CMake script and to compile the binaries. The script also requires that lapack/blas libraries are available, and a working python 3 interpreter.

Targets

  • thermopack_static: Static thermopack libray
  • thermopack: Dynamic thermopack library used by python
  • run_thermopack: Executable, running the program defined in thermopack/src/thermopack.f90
  • pycThermopack: Set up the python package qthermopack/addon/pycThermopack/pyctp
  • distclean: Delete CMake files.

make all will build the thermopack_static, thermopack, run_thermopack and pycThermopack targets.

Configuring the build

It is preferred that you do an out-of-source build. To do this, create a build/ directory at the top level of your project and build there.

git clone https://github.com/morteham/thermopack_cmake.git
cd thermopack_cmake
cp -r cmake CMakeLists.txt distclean.cmake "path to thermopack"
cd "path to thermopack"
mkdir build
cd build
cmake ..
make all

To specific the compiler you can do as follows:

cmake .. -DCMAKE_Fortran_COMPILER=ifort

Windows specifics

Lapack is not as easily accessable on Windows as on Linux, and must in many cases be downloaded and compiled. Assuming you are using Intel FORTRAN, you can generate makefiles for Lapack by running:

cmake .. -DCMAKE_Fortran_FLAGS="/real-size:64 /names:lowercase /iface:cref /assume:underscore"

Having compiled lapack, you can specify were thermopack can find the lapack and blas libraries:

cmake .. -DLAPACK_DIR="path to folder containing lapack.lib and blas.lib" -DBLA_STATIC=ON

About

CMake script for thermopack

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages