CMakePackageFinderCache.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "CMakePackageFinder.h"
4 
5 #include <IceUtil/Time.h>
6 
7 #include <mutex>
8 #include <map>
9 
10 namespace armarx
11 {
12  class CMakePackageFinderCache;
14  {
15  public:
17  CMakePackageFinderCache(IceUtil::Time timeout = IceUtil::Time::seconds(10));
18  const CMakePackageFinder& findPackage(const std::string& packageName, const std::filesystem::path& packagePath = "", bool suppressStdErr = false, bool usePackagePathOnlyAsHint = false);
20  private:
21  std::mutex mutex;
22  std::map < std::string, std::pair<IceUtil::Time, CMakePackageFinder> > packageFinders;
23  IceUtil::Time timeout;
24  };
25 
26 }
27 
armarx::CMakePackageFinderCache
Definition: CMakePackageFinderCache.h:13
armarx::CMakePackageFinderCache::findPackage
const CMakePackageFinder & findPackage(const std::string &packageName, const std::filesystem::path &packagePath="", bool suppressStdErr=false, bool usePackagePathOnlyAsHint=false)
Definition: CMakePackageFinderCache.cpp:20
armarx::CMakePackageFinder
The CMakePackageFinder class provides an interface to the CMake Package finder capabilities.
Definition: CMakePackageFinder.h:53
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:19
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:28