CBuild
C++ build system with scripts written in c++
Loading...
Searching...
No Matches
Public Member Functions | List of all members
CBuild::GCCHash Class Reference

#include <gcc_hash.hpp>

Inheritance diagram for CBuild::GCCHash:
CBuild::Hash

Public Member Functions

 GCCHash (std::string target_id)
 
virtual lib::map< std::string, std::string > get_files_for_recompilation (std::vector< std::string > file_list, std::vector< std::string > objects_list) override
 Pass a list of source files and coresponding object files and get a map of source-object that need to be recompiled (check only hash and dependencie hash, not any arg canges)
 
virtual int compare_and_set_cargs (std::vector< std::string > cargs) override
 Compare compile args and update metadata.
 
virtual int compare_and_set_largs (std::vector< std::string > largs) override
 Compare link args and update metadata.
 
virtual int compare_and_set_commands (std::string compiler, std::string linker, std::string packer) override
 Compare shell commands used for compilation and update metadata.
 
virtual int compare_and_set_output_file (std::string out) override
 Compare output file name and update metadata.
 
virtual void set_target_meta (std::vector< std::string > cargs, std::vector< std::string > largs, std::string out, std::string compiler, std::string linker, std::string packer) override
 Set the target meta.
 
- Public Member Functions inherited from CBuild::Hash
 Hash (std::string target_id)
 

Additional Inherited Members

- Protected Attributes inherited from CBuild::Hash
std::string target_id
 

Detailed Description

Definition at line 34 of file gcc_hash.hpp.

Constructor & Destructor Documentation

◆ GCCHash()

CBuild::GCCHash::GCCHash ( std::string target_id)
inline

Definition at line 37 of file gcc_hash.hpp.

Member Function Documentation

◆ compare_and_set_cargs()

virtual int CBuild::GCCHash::compare_and_set_cargs ( std::vector< std::string > cargs)
inlineoverridevirtual

Compare compile args and update metadata.

Parameters
cargs=> std::vector<std::string> -> Compile args
Returns
int -> 0 - all good, 1 - args didnt match, -1 - File didnt exist at all

Implements CBuild::Hash.

Definition at line 46 of file gcc_hash.hpp.

References CBuild::target_metadata_file::cargs, CBuild::read_target_metadata(), CBuild::Hash::target_id, and CBuild::write_target_metadata().

◆ compare_and_set_commands()

virtual int CBuild::GCCHash::compare_and_set_commands ( std::string compiler,
std::string linker,
std::string packer )
inlineoverridevirtual

Compare shell commands used for compilation and update metadata.

Parameters
compiler=> std::string -> Command used for compiling source files
linker=> std::string -> Command used for linking objects
packer=> std::string -> Command used for packing static libs
Returns
int -> 0 - all good, 1 - args didnt match, -1 - File didnt exist at all

Implements CBuild::Hash.

Definition at line 70 of file gcc_hash.hpp.

References CBuild::target_metadata_file::compiler, CBuild::target_metadata_file::linker, CBuild::target_metadata_file::packer, CBuild::read_target_metadata(), CBuild::Hash::target_id, and CBuild::write_target_metadata().

◆ compare_and_set_largs()

virtual int CBuild::GCCHash::compare_and_set_largs ( std::vector< std::string > largs)
inlineoverridevirtual

Compare link args and update metadata.

Parameters
cargs=> std::vector<std::string> -> Compile args
Returns
int -> 0 - all good, 1 - args didnt match, -1 - File didnt exist at all

Implements CBuild::Hash.

Definition at line 58 of file gcc_hash.hpp.

References CBuild::target_metadata_file::largs, CBuild::read_target_metadata(), CBuild::Hash::target_id, and CBuild::write_target_metadata().

◆ compare_and_set_output_file()

virtual int CBuild::GCCHash::compare_and_set_output_file ( std::string out)
inlineoverridevirtual

Compare output file name and update metadata.

Parameters
out=> std::string -> Output name
Returns
int -> 0 - all good, 1 - args didnt match, -1 - File didnt exist at all

Implements CBuild::Hash.

Definition at line 85 of file gcc_hash.hpp.

References CBuild::target_metadata_file::out, CBuild::read_target_metadata(), CBuild::Hash::target_id, and CBuild::write_target_metadata().

◆ get_files_for_recompilation()

virtual lib::map< std::string, std::string > CBuild::GCCHash::get_files_for_recompilation ( std::vector< std::string > file_list,
std::vector< std::string > objects_list )
inlineoverridevirtual

Pass a list of source files and coresponding object files and get a map of source-object that need to be recompiled (check only hash and dependencie hash, not any arg canges)

Parameters
file_list=> std::vector<std::string> -> List of source files
objects_list=> std::vector<std::string> -> List of object files
Returns
lib::map<std::string, std::string> -> Map of source->object, that need to be recompiled

Implements CBuild::Hash.

Definition at line 39 of file gcc_hash.hpp.

References CBuild::gcc_hash_impl(), and CBuild::Hash::target_id.

◆ set_target_meta()

virtual void CBuild::GCCHash::set_target_meta ( std::vector< std::string > cargs,
std::vector< std::string > largs,
std::string out,
std::string compiler,
std::string linker,
std::string packer )
inlineoverridevirtual

Set the target meta.

Parameters
cargs=> std::vector<std::string> -> Compile args
largs=> std::vector<std::string> -> Link args
out=> std::string -> Output binary name
compiler=> std::string -> Command used for compiling source files
linker=> std::string -> Command used for linking objects
packer=> std::string -> Command used for packing static libs

Implements CBuild::Hash.

Definition at line 97 of file gcc_hash.hpp.

References CBuild::target_metadata_file::cargs, CBuild::target_metadata_file::compiler, CBuild::target_metadata_file::largs, CBuild::target_metadata_file::linker, CBuild::target_metadata_file::out, CBuild::target_metadata_file::packer, CBuild::Hash::target_id, and CBuild::write_target_metadata().


The documentation for this class was generated from the following file: