Commit Graph

76 Commits

Author SHA1 Message Date
Ray Speth
3c9af75f05 Bump vendored fmt library to version 9.1.0
This version properly exports all necessary DLL symbols, eliminating the
need to embed it separately in the Cython module.
2023-02-02 18:33:16 -06:00
Ingmar Schoegl
169aa7e1a9 [SCons] Install HighFive submodule on demand 2023-01-12 14:05:37 -05:00
Ray Speth
e5032e5bd0 Remove vendored libexecstream
This is no longer used because there is no need to call a subprocess
for CTI to XML conversions.
2022-05-25 04:02:58 -04:00
Bryan W. Weber
c7c2082779 [SCons] Fix AttributeError when generating license
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
2021-12-12 11:47:27 -05:00
Bryan Weber
76825d1e73 [SCons] Build sundials_config and copy separately
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.
2021-11-26 14:56:00 -05:00
Bryan Weber
088b2c9cf9 [SCons] Use pathlib to write combined License file
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.
2021-11-26 14:56:00 -05:00
Bryan Weber
6c9101543a [SCons] Add a target for files copied from ext 2021-11-26 14:56:00 -05:00
Bryan Weber
27696feab8 Rename mglob function to multi_glob 2021-05-04 21:36:21 -04:00
Raymond Speth
bae121a401 [SCons] Stop using header-only version of fmt library
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.
2021-02-21 17:38:15 -05:00
Ray Speth
072cb815ea [SCons] Don't compile Sundials Fortran interface
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'.
2021-02-05 11:29:55 -05:00
Bryan W. Weber
cda3a8e7a1 Update submodules to more recent releases
SUNDIALS: 5.1 -> 5.3
Eigen: 3.3.4 -> 3.3.7
Google Test: 1.8.0 -> 1.10
fmt: 6.1.2 -> 6.2.1
2020-06-10 22:00:12 -04:00
Ray Speth
1c59df4218 Update Sundials submodule to Sundials 5.0.0
Switch to the official Sundials repository now that it's on GitHub
2020-01-01 22:19:24 -05:00
Ray Speth
ed24198e63 Add option to compile yaml-cpp or use system library 2019-06-25 22:30:59 -04:00
Ray Speth
46b7cf180a [SCons] Make dependency on copying Eigen headers explicit
SCons seems to miss this dependency sometimes, resulting in confusing failures
while trying to compile DenseMatrix.cpp.
2019-02-04 16:38:40 -05:00
Ray Speth
333d388f90 [SCons] Improve transition from system_googletest to googletest option 2018-07-09 15:24:25 -04:00
Bryan W. Weber
dab739013e Remove unnecessary include for fmtlib 2018-05-30 14:16:27 -04:00
Ray Speth
309871ae88 Use header-only form of libfmt
Avoids problems when trying to link to static versions of libfmt.a which were
built without -fPIC.
2018-05-30 14:16:27 -04:00
Bryan W. Weber
51d0d43a45 [fmt] Bump fmt submodule to version 5.0.0 2018-05-30 14:16:27 -04:00
Ray Speth
322b1fc375 Update Sundials submodule to Sundials 3.1.0 2018-02-14 22:22:42 -05:00
Ray Speth
82c959d3a3 [SCons] Avoid spurious dependencies when copying headers from ext 2018-02-14 22:22:42 -05:00
Evan McCorkle
60d2075492 Update to gtest-1.8.0.
This release included the merger of gtest and gmock. Cantera is now
building gmock in addition to gtest in order to take advantage of
gmock matchers.
2017-10-28 20:07:14 -04:00
Ray Speth
72d8bb014a [SCons] Fix license file generation when using system version of fmt 2016-07-05 15:11:33 -04:00
Ray Speth
d4ddabc76c Use system-installed version of fmt library if available
Resolves #348.
2016-07-05 14:17:01 -04:00
Ray Speth
4e23793ebd Update fmt to version 3.0.0 and fix compatibility issues
Resolves #349.
2016-07-05 13:52:46 -04:00
Ray Speth
c557fa84cd [SCons] Reformat libexecstream license and add to merged license file 2016-06-24 15:51:44 -04:00
Ray Speth
e71f22aba1 [SCons] Install license file with licenses for 3rd-party code 2016-06-24 15:27:20 -04:00
Ray Speth
df43a474cd [SCons] Modify build system to exclude unused Fortran and f2c code
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.
2016-05-14 22:00:22 -04:00
Ray Speth
bf67cce25f [SCons] Make Eigen available to Cantera
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.
2016-05-14 21:56:17 -04:00
Ray Speth
4eea27b0a4 Update cppformat (now fmt)
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.
2016-05-03 15:03:52 -04:00
Ray Speth
b4a1fb2db1 [SCons/Numerics] Use ext/sundials if system Sundials not installed 2015-11-23 16:53:20 -05:00
Ray Speth
84566a3a7d [SCons] Fix incorrect directory created in build tree
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.
2015-10-29 12:27:47 -04:00
Ray Speth
4a411b76bb Use git submodule for googletest 2015-10-18 18:54:09 -04:00
Ray Speth
952ed7d39a Compile cppformat and include it in the Cantera library 2015-10-14 18:45:22 -04:00
Ray Speth
7f847c3877 [SCons] Miscellaneous cleanup of SConstruct/SConscript files 2015-06-13 23:29:58 -04:00
Ray Speth
8ce62988a1 [SCons] Remove previously-deprecated configuration options 2015-05-11 17:23:37 -04:00
Ray Speth
044235c065 [SCons] Remove unnecessary uses of pjoin 2014-10-08 16:54:49 +00:00
Ray Speth
7edc16d7c1 [SCons] Use more generic flag for warning suppression
Older versions of Clang don't support '-Wno-unused-result'.
2014-02-24 03:25:15 +00:00
Ray Speth
0ff3afe5ea [SCons] Fix warning suppression in external code 2014-02-21 19:08:54 +00:00
Ray Speth
ca0ea8bc35 [SCons] Simplify treatment of sydep1.h and signal1.h
We don't actually have system-dependent versions of these headers,
so just put the templates in place directly.
2014-02-20 03:00:45 +00:00
Ray Speth
1ff7bc2f3b [SCons] Remove check for <tr1/tuple>
Updated gtest version makes this special case unnecessary.
2014-01-21 17:22:09 +00:00
Ray Speth
a8d8f3f0ca [SCons] Check for <tr1/tuple>
This header is used by GTest. If not present, define 'GTEST_USE_OWN_TR1_TUPLE'
to use an alternative version. Fixes a compilation error on OS X.
2014-01-08 17:10:34 +00:00
Ray Speth
e1074722c5 [SCons] Restore 'single_library' build option
The 'single_library=y' build option must be retained in order to support
compilation on Windows and OS X.
2013-10-04 16:22:55 +00:00
Harry Moffat
cfa4493b51 Worked on fixing errors in the code that caused problems with downstream code.
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.
2013-09-02 00:58:28 +00:00
Ray Speth
1856a060c9 [SCons] Made installation of gtest optional
The default is to not install it, since most users do not need it.
2013-02-15 17:32:31 +00:00
Harry Moffat
287de5e1fb Added gtest to Cantera's application environment. 2013-02-05 00:32:05 +00:00
Ray Speth
978e3605bd [SCons] Cleanup of the build scripts 2013-02-01 23:39:53 +00:00
Harry Moffat
c6f7abbf2f Fixed a serious error in InterfaceKinetics that had crept into this branch.
Started upgrade/update of equilibrium solver
       - Fixed numerical jacobian calculation of the ln activity coefficients.
2012-11-29 02:18:05 +00:00
Harry Moffat
08a41f191c Added back constructPhaseFile() and constructPhaseXML().
All molten salt problems were broken and some brine problems were broken.
2012-11-07 23:51:30 +00:00
Ray Speth
c092bbaede Fixed the order of include and library directories when compiling
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.
2012-08-10 21:03:06 +00:00
Ray Speth
e11281477e Added configuration option for building a single library
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.
2012-04-05 22:03:30 +00:00