/// Safely sets an environment variable using "NAME=VALUE" syntax
void setenv(const string_t& Variable);
/// Safely returns the user's home directory
const filesystem::path get_home_directory();
/// Safely returns the user's temp directory
const filesystem::path get_temp_directory();
/// Returns a unique temporary file path
const filesystem::path generate_temp_file();
/// Returns the installation path. On Posix systems this is the equivalent of CMAKE_INSTALL_PREFIX. On Win32 and OSX it is the parent of the directory that contains the K-3D binary
const filesystem::path install_path();
/// Returns the path to a binary executable by searching the contents of the PATH environment variable, or an empty path
/// Runs an external process asynchronously. Note: execs the process directly, do not use shell features! The child process will have the same environment as its parent, and the PATH environment variable will be used to lookup the binary to be executed.
bool spawn_async(const string_t& CommandLine);
/// Runs an external process synchronously, blocking until it returns. Note: execs the process directly, do not use shell features! The child process will have the same environment as its parent, and the PATH environment variable will be used to lookup the binary to be executed.
bool spawn_sync(const string_t& CommandLine);
/// Defines a collection of paths
typedef std::vector<filesystem::path> paths_t;
/// Split a string containing zero-or-more paths separated by delimiters into a collection of paths ...