resolve cyclic dependency with zstd
[platform/upstream/cmake.git] / Source / cmDynamicLoader.h
1 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
2    file Copyright.txt or https://cmake.org/licensing for details.  */
3 // .NAME cmDynamicLoader - class interface to system dynamic libraries
4 // .SECTION Description
5 // cmDynamicLoader provides a portable interface to loading dynamic
6 // libraries into a process.
7
8 #pragma once
9
10 #include "cmConfigure.h" // IWYU pragma: keep
11
12 #include "cmsys/DynamicLoader.hxx" // IWYU pragma: export
13
14 class cmDynamicLoader
15 {
16 public:
17   // Description:
18   // Load a dynamic library into the current process.
19   // The returned cmsys::DynamicLoader::LibraryHandle can be used to access
20   // the symbols in the library.
21   static cmsys::DynamicLoader::LibraryHandle OpenLibrary(const char*);
22
23   // Description:
24   // Flush the cache of dynamic loader.
25   static void FlushCache();
26
27 protected:
28   cmDynamicLoader() = default;
29   ~cmDynamicLoader() = default;
30 };