CMakePackageFinder.cpp File Reference
#include "CMakePackageFinder.h"
#include <ArmarXCore/core/logging/Logging.h>
#include <ArmarXCore/core/util/StringHelpers.h>
#include <ArmarXCore/core/system/ArmarXDataPath.h>
#include <ArmarXCore/core/exceptions/local/ExpressionException.h>
#include <ArmarXCore/core/services/sharedmemory/exceptions/SharedMemoryExceptions.h>
#include <ArmarXCore/util/CPPUtility/filesystem.h>
#include "../../rapidxml/wrapper/RapidXmlReader.h"
#include "CMakePackageFinderCache.h"
#include <boost/interprocess/managed_shared_memory.hpp>
#include <boost/interprocess/sync/interprocess_upgradable_mutex.hpp>
#include <boost/interprocess/sync/interprocess_condition.hpp>
#include <SimoxUtility/algorithm/string/string_tools.h>
#include <boost/algorithm/string/regex.hpp>
#include <boost/regex.hpp>
#include <boost/interprocess/sync/file_lock.hpp>
#include <boost/interprocess/sync/scoped_lock.hpp>
#include <boost/interprocess/sync/sharable_lock.hpp>
#include <boost/thread/thread_time.hpp>
#include <filesystem>
#include <sstream>
#include <memory>
#include <ctime>
#include <mutex>
#include <cstdlib>
+ Include dependency graph for CMakePackageFinder.cpp:

Go to the source code of this file.

Namespaces

 armarx
 This file offers overloads of toIce() and fromIce() functions for STL container types.
 

Macros

#define CACHE_PATH   "/ArmarXCMakeCache_" + (getenv("USER")?getenv("USER"):"DUMMY_USER")
 
#define SCRIPT_PATH   "ArmarXCore/core/system/cmake/FindPackageX.cmake"
 

Typedefs

using ScopedFileLockPtr = std::shared_ptr< boost::interprocess::scoped_lock< boost::interprocess::file_lock > >
 

Functions

const std::shared_ptr< boost::interprocess::file_lock > & CacheFileLock ()
 
const std::shared_ptr< boost::interprocess::file_lock > & CMakeFileLock ()
 
std::mutex & CMakeMutex ()
 
std::shared_ptr< boost::interprocess::file_lock > CreateAndCheckFileLock (const std::string &name)
 
std::shared_ptr< boost::interprocess::file_lock > getFileLock (std::string lockName, bool verbose=false)
 
std::string getHomeDir ()
 
ScopedFileLockPtr lockCMake ()
 
bool readCMakeCache (const std::string &packageName, std::string &packageContent)
 
bool updateCMakeCache (const std::string &packageName, const std::string &packageContent)
 

Variables

std::mutex cmakePackageMutex
 
char ** environ
 
boost::interprocess::interprocess_upgradable_mutex * memoryMutex = nullptr
 
std::shared_ptr< boost::interprocess::managed_shared_memory > sharedMemorySegment
 

Macro Definition Documentation

◆ CACHE_PATH

#define CACHE_PATH   "/ArmarXCMakeCache_" + (getenv("USER")?getenv("USER"):"DUMMY_USER")

Definition at line 56 of file CMakePackageFinder.cpp.

◆ SCRIPT_PATH

#define SCRIPT_PATH   "ArmarXCore/core/system/cmake/FindPackageX.cmake"

Definition at line 55 of file CMakePackageFinder.cpp.

Variable Documentation

◆ environ

char** environ