Older versions of SCons do not support dictionary value-types. Instead,
these must be explicitly cast to lists so that SCons can process all the
files.
Fixes Attribute error during build #1147
This is the same mechanism as employed for config.h in the main
SConstruct. It's needed here to avoid repeatedly copying the include
directory into the sdist, which fails due to the existing directory.
Use a dictionary to collect the license file paths and names. This data
structure is more natural for this mapping of packages to files. It also
simplifies the loop to collect the files.
While using the fmt library in header-only mode was convenient,
Cantera uses this library in so many separate source files that using
it in this mode was noticably increasing overall compilation time.
Cantera doesn't use this part of Sundials, and bundling all of these
files into the cantera library leads to linker errors when compiling
with MinGW and on macOS, due to redefinition of symbols like
'F2C_CVODE_matrix'.
Cantera no longer requires BLAS / LAPACK (but can use them if available), so it
is never necessary to compile any of the external Fortran or f2c-converted code.
Check for a system copy of Eigen, and if that is not found, install
Eigen's headers with the Cantera headers. Add the header 'eigen_dense.h'
to provide a single header to include from other locations.
Update to current master (pre-3.0), and change remote repository to reflect name
change from cppformat to fmt. Needed to be updated now because one of the
submodules referenced in the 1.1.0 release no longer exists due to the change in
the Github organization name from cppformat to fmtlib.
The 'Mkdir' command was creating a (literal) '#include' directory, rather than
taking the '#' to mean the top of the source tree. The 'Mkdir' command is
unnecessary anyway, since the 'Copy' command will create the necessary
subdirectory.
Fixes#304.
Took out single_species compilation option
took out some deprecated warnings
Fixed an error in copy constructors for thermo.
Still an error with PYTHONPATH and the test suite
-- more to come.
Include directories in the Cantera source tree should be listed first so that
they take precedence over headers from other installed copies of Cantera that
might end up on the include search path. This was potentially a problem when
Cantera was installed in the same location (e.g. /usr/local) as one of its
dependencies (e.g. Sundials).
The same logic applies to directories on the library link path.
This is necessary particularly for Windows, where there's no easy way
to build shared libraries of the f2c code because those functions
don't have the necessary __declspec(dllexport) in their non-existent
headers.