Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include <string>
7 : #include <vector>
8 :
9 : /*!
10 : * \ingroup UtilitiesGroup
11 : * \brief Functions for retrieving system and source tree information
12 : */
13 1 : namespace formaline {
14 : /*!
15 : * \brief Returns a byte stream of the source tree at the time the executable
16 : * was compiled.
17 : */
18 1 : std::vector<char> get_archive();
19 :
20 : /*!
21 : * \brief Returns the environment variables at link time.
22 : */
23 1 : std::string get_environment_variables();
24 :
25 : /*!
26 : * \brief Returns the contents of SpECTRE's BuildInfo.txt file.
27 : */
28 1 : std::string get_build_info();
29 :
30 : /*!
31 : * \brief Returns the PATH, CPATH, LD_LIBRARY_PATH, LIBRARY_PATH, and
32 : * CMAKE_PREFIX_PATH at time of compilation.
33 : */
34 1 : std::string get_paths();
35 :
36 : /*!
37 : * \brief Write the source tree archive to the file
38 : * `filename_without_extension.tar.gz`
39 : */
40 1 : void write_to_file(const std::string& filename_without_extension);
41 : } // namespace formaline
|