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