CMakePackageFinderCache.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <map>
4 #include <mutex>
5 
6 #include <IceUtil/Time.h>
7 
8 #include "CMakePackageFinder.h"
9 
10 namespace armarx
11 {
12  class CMakePackageFinderCache;
13 
15  {
16  public:
18  CMakePackageFinderCache(IceUtil::Time timeout = IceUtil::Time::seconds(10));
19  const CMakePackageFinder& findPackage(const std::string& packageName,
20  const std::filesystem::path& packagePath = "",
21  bool suppressStdErr = false,
22  bool usePackagePathOnlyAsHint = false);
24 
25  private:
26  std::mutex mutex;
27  std::map<std::string, std::pair<IceUtil::Time, CMakePackageFinder>> packageFinders;
28  IceUtil::Time timeout;
29  };
30 
31 } // namespace armarx
armarx::CMakePackageFinderCache
Definition: CMakePackageFinderCache.h:14
armarx::CMakePackageFinderCache::findPackage
const CMakePackageFinder & findPackage(const std::string &packageName, const std::filesystem::path &packagePath="", bool suppressStdErr=false, bool usePackagePathOnlyAsHint=false)
Definition: CMakePackageFinderCache.cpp:17
armarx::CMakePackageFinder
The CMakePackageFinder class provides an interface to the CMake Package finder capabilities.
Definition: CMakePackageFinder.h:52
armarx::CMakePackageFinderCache::CMakePackageFinderCache
CMakePackageFinderCache(const CMakePackageFinderCache &s)
Definition: CMakePackageFinderCache.cpp:7
armarx::armem::Time
armarx::core::time::DateTime Time
Definition: forward_declarations.h:13
CMakePackageFinder.h
armarx::CMakePackageFinderCache::GlobalCache
static CMakePackageFinderCache GlobalCache
Definition: CMakePackageFinderCache.h:23
armarx::ctrlutil::s
double s(double t, double s0, double v0, double a0, double j)
Definition: CtrlUtil.h:33
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27