/// Generates the cmds for build the C++ standard libraries (std and std.compat) according to the specification
/// The procedure that takes care of generating the [`SourceCommandLine`] to build the user's declared
/// *NOTE*: This will be changed on the future, when we decide how we should architecture the implementation
/// *IMPL_NOTE*: Consider in the future if it's worth to maintain two paths for build module implementations
/// Generates the command line that will be passed to the linker to generate an target final product
/// It takes care of generate the [`SourceCommandLine`] for a set of given implementors of [`TranslationUnit`],
/// processing them according to the passed [`TranslationUnitKind`] discriminator if the command doesn't exist,
/// otherwise, it will handle the need of tracking individually every translation unit in every program iteration
/// (while the cache isn't purged by the user) to set their [`TranslationUnitStatus`] flag, which ultimately
if let Some(generated_cmd) = cache.get_cmd_for_translation_unit_kind(translation_unit, for_kind)
log::trace!("Source file: {:?} was not modified since the last iteration. No need to rebuilt it again.", &translation_unit.path());
/// Generates the [`PathBuf`] of the resultant binary module interface file of a C++ module interface
/// tracked on the entities like [`SourceCommandLine::status`] and others from the [`ZorkCache`]
/// as well to determine when a concrete user declared file must be sent to the compiler in order
// If exists and was successful, let's see if has been modified after the program last iteration
log::error!("An error happened trying to get the last time that the {file:?} was modified. Processing it anyway because {e:?}");
log::error!("An error happened trying to retrieve the metadata of {file:?}. Processing it anyway because {e:?}");