mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-08 06:40:48 -06:00
Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`, now with "east const" enforcement. Use `clang-format` version 18. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit. Issue: #26123
50 lines
1.1 KiB
C++
50 lines
1.1 KiB
C++
/* Distributed under the OSI-approved BSD 3-Clause License.
|
|
See https://cmake.org/licensing#kwsys for details. */
|
|
#ifndef DynamicLoader_hxx
|
|
#define DynamicLoader_hxx
|
|
|
|
#include <string>
|
|
|
|
#if defined(__hpux)
|
|
# include <dl.h>
|
|
#elif defined(_WIN32) && !defined(__CYGWIN__)
|
|
# include <windows.h>
|
|
#elif defined(__APPLE__)
|
|
# include <AvailabilityMacros.h>
|
|
# if MAC_OS_X_VERSION_MAX_ALLOWED < 1030
|
|
# include <mach-o/dyld.h>
|
|
# endif
|
|
#elif defined(__BEOS__)
|
|
# include <be/kernel/image.h>
|
|
#endif
|
|
|
|
class DynamicLoader
|
|
{
|
|
public:
|
|
#if defined(__hpux)
|
|
typedef shl_t LibraryHandle;
|
|
#elif defined(_WIN32) && !defined(__CYGWIN__)
|
|
typedef HMODULE LibraryHandle;
|
|
#elif defined(__APPLE__)
|
|
# if MAC_OS_X_VERSION_MAX_ALLOWED < 1030
|
|
typedef NSModule LibraryHandle;
|
|
# else
|
|
typedef void* LibraryHandle;
|
|
# endif
|
|
#elif defined(__BEOS__)
|
|
typedef image_id LibraryHandle;
|
|
#else // POSIX
|
|
typedef void* LibraryHandle;
|
|
#endif
|
|
|
|
typedef void (*SymbolPointer)();
|
|
|
|
static LibraryHandle OpenLibrary(std::string const&);
|
|
|
|
static int CloseLibrary(LibraryHandle);
|
|
|
|
static SymbolPointer GetSymbolAddress(LibraryHandle, std::string const&);
|
|
};
|
|
|
|
#endif
|