1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #ifndef cmMachO_h
- #define cmMachO_h
- #include "cmConfigure.h" // IWYU pragma: keep
- #include <iosfwd>
- #include <string>
- #if !defined(CMAKE_USE_MACH_PARSER)
- #error "This file may be included only if CMAKE_USE_MACH_PARSER is enabled."
- #endif
- class cmMachOInternal;
- /** \class cmMachO
- * \brief Executable and Link Format (Mach-O) parser.
- */
- class cmMachO
- {
- public:
- /** Construct with the name of the Mach-O input file to parse. */
- cmMachO(const char* fname);
- /** Destruct. */
- ~cmMachO();
- /** Get the error message if any. */
- std::string const& GetErrorMessage() const;
- /** Boolean conversion. True if the Mach-O file is valid. */
- operator bool() const { return this->Valid(); }
- /** Get Install name from binary **/
- bool GetInstallName(std::string& install_name);
- /** Print human-readable information about the Mach-O file. */
- void PrintInfo(std::ostream& os) const;
- private:
- friend class cmMachOInternal;
- bool Valid() const;
- cmMachOInternal* Internal;
- };
- #endif
|